logger模块的使用
logging模块
下面是logger模块的配置文件,在写程序需要记录日志可以直接拿过来用,但是要经过相应配置的一些修改。
对于如何使用,在我上一篇随笔<ATM程序规范练习>中的记录日志的内容我没有更新,应读者的需求,现已更新
想知道如何使用的可以看看。
logging模块配置
"""
logging配置
""" import logging.config import logging # 定义三种日志输出格式 开始 standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \
'[%(levelname)s][%(message)s]' #其中name为getlogger指定的名字 simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s' id_simple_format = '[%(levelname)s][%(asctime)s] %(message)s' #定义日志文件的路径
LOG_PATH=r'a3.log' # log配置字典(字典的key不能改)
LOGGING_DIC = {
'version': 1, #定义的版本
'disable_existing_loggers': False,#无用 #1、定义日志的格式
'formatters': {#字典的key可以随便取
'standard': {#key是固定格式
'format': standard_format#定义的日志格式
},
'simple': {
'format': simple_format
},
'id_simple':{
'format':id_simple_format
},
},
'filters': {}, #过滤,不用 #2、定义日志输入的目标:文件或者终端
'handlers': {#控制文件写入
#打印到终端的日志
'stream': {
'level': 'DEBUG',
'class': 'logging.StreamHandler', # 打印到屏幕
'formatter': 'simple'#绑定格式
},
#打印到文件的日志,收集info及以上的日志
'access': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler', # 保存到文件(日志轮转)
'formatter': 'standard',#绑定日志格式
'filename': LOG_PATH, # 日志文件
'maxBytes': 1024*1024*5, # 日志大小 5M#一份日志文件的大小
'backupCount': 5,#最多保存五份日志,写完五份时轮转
'encoding': 'utf-8', # 日志文件的编码,再也不用担心中文log乱码了
},
}, 'loggers': {
#logging.getLogger(__name__)拿到的logger配置
'egon': {#定义日志的名字
'handlers': ['access', 'stream'], # 这里把上面定义的两个handler都加上,即log数据既写入文件又打印到屏幕
'level': 'DEBUG',
'propagate': False, # 向上(更高level的logger)传递
},
},
} logging.config.dictConfig(LOGGING_DIC) # 导入上面定义的logging配置 l1=logging.getLogger('egon')
l1.debug('测试')
logger模块的使用的更多相关文章
- python中logger模块的应用
logger模块是python内置的一个模块,主要用于输出运行日志,可以输出日志的等级,日志的保存路径等 具体详见博客https://www.cnblogs.com/qianyuliang/p/723 ...
- python中的logger模块
logger 提供了应用程序可以直接使用的接口handler将(logger创建的)日志记录发送到合适的目的输出filter提供了细度设备来决定输出哪条日志记录formatter决定日志记录的最终输出 ...
- Python logger模块
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python Logger模块单例模式
前言 提前祝大家过个好年 最近忙于项目,今天抽出点时间写写Blog谈谈昨天遇到的问题 项目最近要收尾了,想把Logger规整一下,因为很多地方都有用到 Python的Logger模块是Python自带 ...
- python基础知识~logger模块
一 配置文件模块 import logging ->导入模块 logger = logging.getLogger('mylogger') ->初始化类二 创建句柄 1 文件句柄 fh = ...
- python中的logger模块详细讲解
logger 提供了应用程序可以直接使用的接口handler将(logger创建的)日志记录发送到合适的目的输出filter提供了细度设备来决定输出哪条日志记录formatter决定日志记录的最终输出 ...
- python常用模块——logger模块
python的logging模块提供了通用的日志系统,熟练使用logging模块可以方便开发者开发第三方模块或者是自己的python应用. python使用logging模块记录日志涉及四个主要的类: ...
- logger模块和re模块总结
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- Python 日志模块 logging通过配置文件方式使用
vim logger_config.ini[loggers]keys=root,infoLogger,errorlogger [logger_root]level=DEBUGhandlers=info ...
随机推荐
- EJB是什么?
1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么 ...
- 使用 richtextbox 输出程序运行信息
private delegate void Refresh_CallBack(Color color,string text); private void ControlsRefresh(Color ...
- Shell脚本批量修改图片尺寸
#!/bin/sh function scandir(){ local cur_dir parent_dir workdir workdir=$ cd ${workdir} if [ ${workdi ...
- Selenium2学习(五)-- SeleniumBuilder辅助定位元素
前言 福利来了,对于用火狐浏览器的小伙伴们,你还在为定位元素而烦恼嘛? 上古神器Selenium Builder来啦,哪里不会点哪里,妈妈再也不用担心我的定位元素问题啦!(但是也不是万能,基本上都能覆 ...
- centos开启IPV6配置方法
目前国内大部分服务器和PC不支持IPV6地址的,但是服务器上本身是可以正常开启IPV6服务,有部分程序在服务器上运行的时候,需要服务器能监听一个ipv6地址才行,因此本文档指导如何在centos服务器 ...
- 1.Zabbix 3.0 基础
请查看我的有道云笔记: http://note.youdao.com/noteshare?id=85046af7675851675679a47beadc7aa3&sub=000AB0B2409 ...
- (转)Wireshark基本介绍和学习TCP三次握手
原地址https://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html#filter 阅读目录 wireshark介绍 wireshar ...
- php-fpm 慢日志查询
虽然可以通过 nginx 的 accesslog 日志查询到用户访问接口或网页消耗的时间,但是不能清晰的追踪到哪个文件或函数慢, 可以通过 php-fpm 慢日志查询检测 php 脚本运行状态,哪些 ...
- 关于eclipse中引入项目报错或者没有JRE System Library问题(jre报错)或者jre1.7(8)改为jre1.8(7)等问题
解决方法: 右键项目工程-->>properties->>java bulid path -->>>libraries -->>add libra ...
- java基础知识一览
一.关键字:JDK1.5的新特性.Eclipse.MyEclipse.IDE.Workspace.Perspective.view.设置javac和java的版本.模块代码.快捷键.导入工程.静态导入 ...