要想使用好logging模块首先要知道它的使用流程:
- logging类的实例化:logger=logging.getLogger(‘‘)
- 设置logger的级别,logger.setLevel(logging.DEBUG)
- 处理不同级别logger事件对应的不同的handle类的设置:
fh=logging.FileHandler(filename,filemode),
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
- log信息的传递:
logger.info("i‘m very good")
在使用logging过程中遇到的坑:
- 不知道logging是继承的(两级:root和一般的日志对象),如果logging.basicConfig对应的是root的设置(默认level为warning)
- 给handle设置级别的同时,也应该给实例对象logger设置logging级别[因为1和2的原因导致logger.info(‘error‘)打印不出信息]
- 没给logger添加handle处理对象。当初始化多个logging类对象后,打印出来的错误信息只写入到第一个初始化对象里,且只生成一个log文件
logging模块
原文:http://www.cnblogs.com/leemiracle/p/5490727.html