日志基础教程
日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性
什么时候使用日志
对于简单的日志使用来说日志功能提供了一系列便利的函数。它们是 debug(),info(),warning(),error() 和 critical()。想要决定何时使用日志,请看下表,其中显示了对于每个通用任务集合来说最好的工具。
实际例子
记录到文件
import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
打开日志文件,你可以看到如下log信息:
DEBUG:root:This message should go to the log file
INFO:root:So should this
WARNING:root:And this, too
从多个模块记录日志:
如果你的程序包含多个模块,这里有一个如何组织日志记录的示例:
# myapp.py
import logging
import mylib
def main():
logging.basicConfig(filename='myapp.log', level=logging.INFO)
logging.info('Started')
mylib.do_something()
logging.info('Finished')
if __name__ == '__main__':
main()
库文件如下所示:
# mylib.py
import logging
def do_something():
logging.info('Doing something')
如果你运行 myapp.py ,你应该在 myapp.log 中看到:
INFO:root:Started
INFO:root:Doing something
INFO:root:Finished