如何详细配置Python日志模块logging的日志级别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计872个文字,预计阅读时间需要4分钟。
《Python的logging模块是标准库中成熟、灵活的日志工具,核心在于级别控制和处理器分离——并非所有日志都应直接打印到屏幕,也不必所有错误都写入文件。》
日志级别:从低到高决定“谁该被记录”
logging 定义了 6 个标准级别(按数值升序):
DEBUG(10)、INFO(20)、WARNING(30)、ERROR(40)、CRITICAL(50),以及最低的 NOTSET(0)。
实际生效的日志级别由 logger 对象自身的 level 和 handler 的 level 共同决定——只有同时 ≥ 两者设定值的日志才会被输出。
- 默认 root logger 级别是 WARNING,所以 debug()、info() 调用默认不显示
- 想看到 INFO 及以上:调用
logging.basicConfig(level=logging.INFO) - 临时提升某 handler 的粒度:比如文件里记 DEBUG,控制台只显示 WARNING+,只需分别设置 handler.level
基础配置:basicConfig 是快速启动,不是万能方案
logging.basicConfig() 只在 root logger 尚未添加 handler 时生效,适合脚本或简单应用。它一次性配置格式、级别、输出目标(默认 sys.stderr)。
本文共计872个文字,预计阅读时间需要4分钟。
《Python的logging模块是标准库中成熟、灵活的日志工具,核心在于级别控制和处理器分离——并非所有日志都应直接打印到屏幕,也不必所有错误都写入文件。》
日志级别:从低到高决定“谁该被记录”
logging 定义了 6 个标准级别(按数值升序):
DEBUG(10)、INFO(20)、WARNING(30)、ERROR(40)、CRITICAL(50),以及最低的 NOTSET(0)。
实际生效的日志级别由 logger 对象自身的 level 和 handler 的 level 共同决定——只有同时 ≥ 两者设定值的日志才会被输出。
- 默认 root logger 级别是 WARNING,所以 debug()、info() 调用默认不显示
- 想看到 INFO 及以上:调用
logging.basicConfig(level=logging.INFO) - 临时提升某 handler 的粒度:比如文件里记 DEBUG,控制台只显示 WARNING+,只需分别设置 handler.level
基础配置:basicConfig 是快速启动,不是万能方案
logging.basicConfig() 只在 root logger 尚未添加 handler 时生效,适合脚本或简单应用。它一次性配置格式、级别、输出目标(默认 sys.stderr)。

