日志
日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数据)。事件还具有开发者归因于事件的重要性;重要性也可以称为级别或严重性。
什么时候使用Logging
logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 error() 和 critical()。
logging函数根据它们用来跟踪的事件的级别或严重程度来命名。标准级别及其适用性描述如下(以严重程度递增排序):
级别 | 何时使用 |
---|---|
DEBUG | 详细信息,一般只在调试问题时使用。 |
INFO | 证明事情按预期工作。 |
WARNING | 某些没有预料到的事件的提示,或者在将来可能会出现的问题提示。例如:磁盘空间不足。但是软件还是会照常运行。 |
ERROR | 由于更严重的问题,软件已不能执行一些功能了。 |
CRITICAL | 严重错误,表明软件已不能继续运行了。 |
打印日志到控制台
由于默认设置的等级是warning,所有只有warning的信息会输出到控制台。
1 | import logging |
打印日志到文件
1 | import logging |
我们设置了logging的级别为DEBUG,所以所有信息都将被写入到example.log
文件中。
如果想要每次启动时,原来的打印日志都被清空的话,则需要把filemode
由默认的a
改为w
1 | logging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG) |
日志的格式
日志级别
1 | import logging |
日期
1 | import logging |