1、日志基本操作
import logging # 第一步:获取日志操作句柄。其他诸如设置全局日志级别,指定输出目的地,输出msg等都基于该句柄操作完成 log = logging.getLogger() # 第二步:设置全局日志级别(高于该级别的才会输出,默认为warnning) log.setLevel(logging.INFO) # 第三步:设置输出handler,就是日志输出到哪,如控制台,文件,远程服务器等 fh = logging.FileHandler('test.log') ch = logging.StreamHandler() # 第四步:指定日志格式,设置格式,并绑定到handler上 fmt = logging.Formatter('%(asctime)s [level: %(levelname)s ] %(message)s') fh.setFormatter(fmt) ch.setFormatter(fmt) # 第五步:指定(局部)输出级别,这里设置一般要比全局高,类似于全局先进行级别过滤,这里再过滤,若是这里设置比全局低,则无意义 fh.setLevel(logging.ERROR) ch.setLevel(logging.CRITICAL) # 第六步:添加handler到日志操作句柄上 log.addHandler(fh) log.addHandler(ch) # 第七步:输出不同级别的msg log.info('this is info msg') log.warn('this is warn msg') log.error('this is erro msg') log.critical('this is critical msg')
2、各模块和参数详解
1>Logger
提供日志接口,供应用代码使用;logger最长用的操作有两类:配置和发送日志消息。可以通过logging.getLogger(name)
获取logger对象,如果不指定name则返回root对象,多次使用相同的name调用getLogger方法返回同一个logger对象。