一、logging简介
logging是当软件运行时,追踪事件发生的一种方式。我们可以使用logging来提醒我们软件运行发生的具体事情。根据事件发生的严重程度,划分了一下等级(level)。
level | 使用场景 |
DEBUG | 一些典型的的问题发生原因的详细信息 |
INFO | 证明一些事情按照预期运行 |
WARNING | 提示可能会发生问题 |
ERROR | 由于一些错误导致软件的某些功能不能执行 |
CRITICAL | 非常严重的错误导致项目不能运行 |
日志的默认级别CRITICAL>ERROR> WARNING> INFO> DEBUG。默认的的级别是WARING,意味着只有高于这个级别的信息才会被追中显示。logging提供了简便的方法来
实现这些追踪,分别是debug(),info(),warning(),error()和critical().
二、实例
1.简单的例子:
1 import logging 2 logging.warning("watch out") 3 logging.info("I told you")
结果:WARNING:root:watch out
原因:因为默认的级别是WARING,只有大于等于次级别才会显示
2.向文件中输入日志
例子1中,日志显示在电脑控制台上。现在我们再来看看如何将日志输入文件中。
1 import logging 2 logging.basicConfig(filename='example.log',level=logging.DEBUG) 3 logging.debug('This message should go to the log file') 4 logging.info('So should this') 5 logging.warning('And this, too')
结果:将会在文件名为example.log的文件中输出日志内容
3.如何在多模块中使用日志
1 # myapp.py 2 import logging 3 import mylib 4 5 def main(): 6 logging.basicConfig(filename='myapp.log', level=logging.INFO) 7 logging.info('Started') 8 mylib.do_something() 9 logging.info('Finished') 10 11 if __name__ == '__main__': 12 main()
# mylib.py import logging def do_something(): logging.info('Doing something')
结果:将会在日志文件myapp.log中显示
INFO:root:Started
INFO:root:Doing something
INFO:root:Finished
三、参考文献
官方资料:https://docs.python.org/2/howto/logging.html#logging-basic-tutorial