本文介绍了Python中的logging模块。
做系统运维的朋友一定对 log(日志)的重要性有深切体会。做生信的同学在搭建 pipeline 时也会注意对程序运行的状态做一些记录,尤其是错误信息。下面的语句相信很多朋友都很熟悉:
1./run.sh > run.out 2> run.err
或者
1./run.sh &> run.log
如果你在run.sh
中适当地设置了一些命令,可以在程序运行的重要节点(比如程序开始、程序结束)对外输出一些信息的话,那么最终可以在日志文件中看到这些信息。
以上方法实现起来相对繁琐,并且当你要调整输出信息的格式时,会更麻烦。
对于Python,有一个成熟的的模块可以快速、有效地实现日志功能,这个模块就是logging
模块。它几行代码就可以启动日志功能,而且可以很方便地调整输出信息的格式。
关于logging模块的用法请点击 阅读原文
查看网络教程。
(如果有兴趣,可以参照logging模块提供的各个功能自己写一个类实现。)
按照网上教程,如果想要将日志写入文件,可以在logging模块的basicConfig
函数中进行设置,或者在logger对象中添加一个FileHandler
。就笔者实际体验来说,在Python2.7.15 (Windows) 版本中,basicConfig函数是有效的;而添加FileHandler总是不能将日志写入文件,如果有朋友知道原因,欢迎告知。