首页 > 解决方案 > 如何打印python记录器信息级别

问题描述

我想在命令行上运行 python3.7 脚本,并让 logger.info() 消息以与 logger.warning() 相同的方式显示在标准输出上。

这是我的代码:

import logging
logger = logging.getLogger(__name__)
print(logger.isEnabledFor(logging.INFO))
logger.setLevel(logging.INFO)
print(logger.isEnabledFor(logging.INFO))
logger.info('my info message')
logger.warn('my warning message')

预期输出:

False
True
my info message
my warning message

实际输出:

False
True
my warning message

示例:https ://repl.it/repls/UnknownWideeyedPhase

标签: python-3.7

解决方案


在上面的示例中,您需要定义一个 Stream-Handler 来告诉记录器将日志发送到哪里。如果要将它们发送到标准输出(控制台输出),只需添加

import sys
logging.basicConfig(stream=sys.stdout)

有关日志配置的更多详细信息,我建议阅读文档文档

PS你应该使用logger.warninglogger.warn弃用


推荐阅读