logging日志模块续3

二、Handler处理器
将日志记录发送至合适的路径,Handler处理器类型有很多种,比较常用的有三个:
1.StreamHandler
将日志记录输出发送到诸如sys.stdout,sys.stderr或任何类似文件流的对象。上面例子就是输出到控制台

2.FileHandler
将日志记录输出发送到磁盘文件。 它继承了StreamHandler的输出功能。
logging.basicConfig(filename='runlog.log',level=logging.DEBUG)

3.NullHandler
不做任何格式化或输出。 它本质上是一个开发人员使用的"无操作"处理程序。



三、Filter 过滤器
Handler和Logger可以使用Filter来完成比级别更复杂的过滤。


四、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,
            datefmt="%Y-%M-%D %H:%M:%S",
            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

你可能感兴趣的:(logging日志模块续3)