09-日志级别
11.4.3 日志级别
“日志级别”提供了一种方式:按重要性对日志消息进行分类。5个日志级别如表11-1所示,从最不重要到最重要。利用不同的日志函数,消息可以按某个级别记入日志。
| 级别 | 日志函数 | 描述 |
| :----- | :----- | :----- | :----- | :----- |
| DEBUG | logging.debug()
| 最低级别。用于小细节。通常只有在诊断问题时,你才会关心这些消息 |
| INFO | logging.info()
| 用于记录程序中一般事件的信息,或确认一切工作正常 |
| WARNING | logging.warning()
| 用于表示可能的问题,它在当前不会阻止程序的工作,但将来可能会 |
| ERROR | logging.error()
| 用于记录错误,它导致程序做某事失败 |
| CRITICAL | logging.critical()
| 最高级别。用于表示致命的错误,它导致或将会导致程序完全停止工作 |
日志消息可作为一个字符串传递给这些函数。日志级别只是一种建议,归根到底,还是由你来决定日志消息属于哪一种类型。在交互式环境中输入以下代码:
>>> import logging
>>> logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s -
%(levelname)s - %(message)s')
>>> logging.debug('Some debugging details.')
2019-05-18 19:04:26,901 - DEBUG - Some debugging details.
>>> logging.info('The logging module is working.')
2019-05-18 19:04:35,569 - INFO - The logging module is working.
>>> logging.warning('An error message is about to be logged.')
2019-05-18 19:04:56,843 - WARNING - An error message is about to be logged.
>>> logging.error('An error has occurred.')
2019-05-18 19:05:07,737 - ERROR - An error has occurred.
>>> logging.critical('The program is unable to recover!')
2019-05-18 19:05:45,794 - CRITICAL - The program is unable to recover!
划分日志级别的好处在于,你可以改变希望看到的日志消息的优先级。向 basicConfig()
函数传入 logging.DEBUG
作为 level
关键字参数,这将显示所有日志级别的消息(DEBUG是最低的级别)。但在开发了更多的程序后,你可能只对ERROR感兴趣。在这种情况下,可以将 basicConfig()
的 level
参数设置为 logging.ERROR
,这将只显示ERROR和CRITICAL消息,跳过DEBUG、INFO和 WARNING
消息。