Python中无需创建logger如何正确打印warning日志
回答
给出的示例写法是否足够?
你提供的写法在默认Python运行环境下是完全足够的,不需要额外创建自定义logger对象就能正常输出warning日志。
Python标准库logging自带了全局的root根日志器,直接调用logging.warning()本质就是调用根日志器的warning方法,默认配置下会直接将日志输出到控制台,默认输出格式如下:
WARNING:root:warning
无需自定义logger、保证warning日志正常输出的通用方案
如果你的运行环境/第三方依赖修改过root日志器的默认配置(比如拉高了日志输出级别、移除了默认的控制台输出处理器),就可能导致日志无法打印,这种情况可以添加基础配置保证输出:
import logging # 初始化根日志器基础配置,设置仅输出WARNING及以上级别的日志 logging.basicConfig(level=logging.WARNING) logging.warning('warning')
- 如果根日志器已经被配置过其他处理器,
logging.basicConfig()会直接失效,你可以先清空已有处理器再重新初始化:
import logging # 清空根日志器已有处理器 for handler in logging.root.handlers[:]: logging.root.removeHandler(handler) # 重新配置基础输出 logging.basicConfig(level=logging.WARNING) logging.warning('warning')
内容的提问来源于stack exchange,提问作者Charlie Parker
相关产品推荐
相关产品推荐

