繁体   English   中英

Python Logger不遵守日志级别

[英]Python Logger not respecting log level

设定:Python 3.3

我有一个要打印日志消息的单元测试程序。 即使我将日志严重性设置为INFO,Python也不会通过我创建的该记录器打印任何警告或更高级别的消息。

这是我使用的代码:

test_logger = logging.getLogger('DesktopprTester')
print(test_logger.getEffectiveLevel())
test_logger.setLevel(logging.INFO)
print(test_logger.getEffectiveLevel())
test_logger.warning('WARN')
test_logger.info('INFO')

这是输出:

30 <-30 is WARN
20 <-20 is INFO
WARN

它不打印信息。 因此,我在此文件中丢失了所有我的信息语句...而且我不确定为什么。 这些文档似乎同意我的观点。 当我以前使用root记录器并将级别设置为info时,它将打印它(以及它正在执行的所有其他操作)。 现在,我已经创建了自己的记录器,它似乎不起作用。 请注意,警告级别的消息仍然会出现,但是我不想看到这些消息。

我在这里缺少什么吗? 我觉得我看不到一些明显的答案...

在python 2中运行代码时,您会收到明确的警告:

No handlers could be found for logger "DesktopprTester"

因此,您只需要向记录器添加处理程序即可:

test_logger = logging.getLogger('DesktopprTester')
hdlr = logging.StreamHandler()
test_logger.addHandler(hdlr)

该警告未出现在python 3上-我不确定为什么

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM