先是基础配置
import logging
logging.basicConfig(filename=<filename.log>, level=logging.DEBUG)
配置好了之后产生的一切日志都会记录在filename.log当中,具体用法举例:
logging.info('logging some infomation')
logging.debug('for debug')
logging.error('error happend.')
在一个项目或者系统当中,一个好的Log不但可以在人力和时间上节省不少成本,可以说是码农居家旅行必备良品~但是有一个问题需要注意的就是,logging需要记录的是有用的信息,无用的信息记录下来只会对将来debug或者查找问题造成干扰,所以千万想清楚哪些才是真正需要东西。
另外格式也是非常重要的一块,编排好的格式不但可以令人赏心悦目,在查找问题或者需要正则匹配的时候更是效率百倍。
logging.basicConfig当中有个format属性可以设置logging的格式,具体选项可以参考官方文档。
logging.basicConfig(format='%(asctime)s %(message)s')
那么一个好的日志记录应该记录哪些东西呢?
- 时间是必不可少的
%(asctime)s
- 日志等级
- 执行用户
- messages也是必不可少的
%(message)s
以上用于小项目基本足够,但是对于稍大一点的项目就不够了,真正生产上线的项目要记录的东西比这个多多了,需要注意的点也不少。
下面就该logging模块的三大handler出手了。
- file handler
- time rotate handler
- console handler