logging模块可以更好的去记录程序中的一些信息,尤其是一些错误信息,因此很有必要学习一下。
基础用法
import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG,filemode='w',
formatter='%(asctime)s:%(name)s:%(levelname)s:%(message)s'
)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this,too')
这里不同于configparser和argparse实例化对象后去使用相关命令,我们可以直接通过logging来使用相关的内容,logging.basicConfig()用来设置基础的配置,包括输出文件,如果不给,就默认输出在标准输出,level输出的日志等级,这里一共有五个等级,分别是logging.DEBUG,logging.INFO,logging.WARNING,logging.ERROR,logging.CRITICAL五种类型,从左向右依次增加强度,设置高强度的level将使得低level的log记录不输出。而filemode有两种选择,'w'或者'a',默认为'a',如果你不想保留每一次的运行结果,就可以通过这个参数修改为'w'来覆盖上一次的记录。
formatter则可以根据提供的一些关键词,例如asctime,name,levelname message等来自定义输出的前缀。
此时查看example.log文件将看到一下的结果
2019-03-06 17:48:32,164:root:DEBUG:This message should go to the log file
2019-03-06 17:48:32,165:root:INFO:So should this
2019-03-06 17:48:32,166:root:WARNING:And this,too
更加个性化和高级的方法可以参考如下的网站