Python 的 logging 库

logging 在这里是”日志”的含义。

日志是用来记录程序运行事件的工具。

什么时候使用 logging 包

日志函数的命名依据于事件级别:

  • DEBUG, 通常用在调试时输出详细信息
  • INFO,确认函数在正常运行
  • WARNING, 在程序依旧能够正常运行的情况下,记录某个期望外的运行事件或记录一些达到临界值的运行信息
  • ERROR, 因为某些严重的运行错误,影响程序的某些功能使用
  • CRITICAL, 运行错误存在导致程序不能继续运行的场景
    默认的事件级别为 WARNING, 只有事件级别高于 WARNING 才会被捕捉。

可以显示设置日志级别。

把日志写入文件

1
2
3
4
5
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')

basicConfig() 函数仅在第一次调用时生效。

在命令行配置日志级别:

1
--log=INFO

记录变量信息

1
2
3
import logging

logging.warning('%s before you %s', 'Look', 'Leap!')

自定义日志信息的格式

1
2
3
import logging

logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG) # 利用 format 参数

展示时间信息

增加 %(asctime)s 来让你的程序输出时间信息。

1
2
3
import logging

logging.basicConfig(format='%(asctime)s %(message)s')

自定义时间格式:

1
logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p') # 传入 datefmt 参数

error 方法

将 error 方法里的 exc_info 参数设置为 Ture, 可以打印出 Traceback 错误堆栈信息。


Python 的 logging 库
http://example.com/2022/08/24/Python-的-logging-库/
作者
Jie
发布于
2022年8月24日
许可协议