使用logging模块记录脚本日志

在日常我们写脚本调试时,对一般功能不复杂的脚本,我们一般用print函数来打印关键变量值,来判断程序是否是正常运行,但如果做教大的项目,用这种方法就显得力不从心,所以这时候我们就要用到功能强大的logging 模块了,再讲例子之前,我们先介绍下logging模块日志级别,以下表列出了logging定义的级别划分:

图片

对于某个级别的日志,只有日志记录器配置可以发布该级别的消息时,才会发布这个消息,例如:如果一个消息级别是CRITICAL,而日子记录器记录的是ERROR,这个消息会发出,因为50>40,反之如果是WARNING,就不会记录日志,因为30<40,说完日志级别,我们来看看,如果记录日志信息,我们看脚本:

#!/usr/bin/evn python

import logging

logfile = 'log.txt'

logging.basicConfig(filename=logfile,

                    format = "%(levelname)-10s %(asctime)s %(message)s",

                    level=logging.INFO

                   )

logging.info('This test script')

#show log.txt

f = open('log.txt')

print f.read()

f.close()


运行结果:


INFO       2016-03-16 23:18:15,640 This test script

INFO       2016-03-16 23:18:28,632 This test script

INFO       2016-03-16 23:19:18,269 This test script

INFO       2016-03-16 23:19:33,694 This test script

basicConfig()函数是用于执行根记录器的基本配置,常用关键字有:

filename:指定日志文件名称

format:用于生成日志的格式

level :指定日志级别。

这三个参数里format用于生成日志的格式,例如我们脚本用到的%(asctime)s表示执行日志记录是调用ASCII格式的日期和时间,%(message)s是记录的消息,format功能非常强大,我们可以利用format的组合生成我们需要的日志格式,这篇就到这里,最后我谈下对python模块的学习,不管标准库还是第三方库,对学习的模块要经常用,直到熟练的程度。


猜你喜欢

转载自blog.51cto.com/15060540/2651713