Handler 处理器,将日志记录发送至合适的路径,Handler处理器类型有很多种,比较常用的有三个:
1.StreamHandler
将日志记录输出发送到诸如sys.stdout,sys.stderr或任何类似文件流的对象。上面例子就是输出到控制台
2.FileHandler
将日志记录输出发送到磁盘文件。它继承了StreamHandler的输出功能。
logging.basicConfig(filename='runlog.log',level=logging.DEBUG)
3.NullHandler
不做任何格式化或输出。它本质上是一个开发人员使用的“无操作”处理程序。
Filter 过滤器
Handlers和Loggers可以使用Filters来完成比级别更复杂的过滤。
Formatter
使用Formatter对象设置日志信息最后的规则、结构和内容,默认的时间格式为%Y-%m-%d %H:%M:%S。
格式描述
%(levelno)s打印日志级别的数值
%(levelname)s打印日志级别名称
%(pathname)s打印当前执行程序的路径
%(filename)s打印当前执行程序名称
%(funcName)s打印日志的当前函数
%(lineno)d打印日志的当前行号
%(asctime)s打印日志的时间
%(thread)d打印线程id
%(threadName)s打印线程名称
%(process)d打印进程ID
%(message)s打印日志信息
使用方法:
logging.basicConfig(filename='runlog.log',level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
输出结果:
2018-04-19 17:25:04,679 logging_test.py[line:12] DEBUG debug info
2018-04-19 17:25:04,680 logging_test.py[line:13] INFO hello 51zxw 2020
2018-04-19 17:25:04,680 logging_test.py[line:14] WARNING waning info
2018-04-19 17:25:04,680 logging_test.py[line:15] ERROR error info
2018-04-19 17:25:04,680 logging_test.py[line:16] CRITICAL critical info
网友评论