python 使用logging调试

调试的方法有很多种,pdb, ide调试打印输出信息等。但是,对于大型程序,使用logging 才是最有效率的
代码如下
import logging
logging.basicConfig(level = logging.INFO, 
                    filename = 'log.log',
                    filemode = 'w',
                    datefmt='%a, %d %b %Y %H:%M:%S',
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')

s = '0'
n = int(s)
logging.debug('n = %d' % n)
logging.info('n = %d' % n)
logging.error('n = %d' % n)
logging.warning('n = %d' % n)
print(10 / n)
输出到日志文件的内容
Mon, 04 Jun 2018 08:41:15 test2.py[line:32] INFO n = 0
Mon, 04 Jun 2018 08:41:15 test2.py[line:34] ERROR n = 0
Mon, 04 Jun 2018 08:41:15 test2.py[line:35] WARNING n = 0
代码分析

没看懂logging.debug为什么不起作用,这里先记录一下,回头再看。

代码分析

明白了,前面有设定 level = logging.INFO, 所以看不到DEGUB的输出信息。修改为 level = logging.DEBUG 即可。在信息等级中,CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET。
用这样的方式,将可能出错的信息或者程序中的执行信息输出到文件,是一个比较好的调试办法

你可能感兴趣的:(python 使用logging调试)