2

我有以下logging基于Logging Cookbook的极简测试示例:

import logging

logger = logging.getLogger('test')
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - '
                              '%(message)s')

ch.setFormatter(formatter)
logger.addHandler(ch)


print(logger.handlers)
logger.debug('hello world')

以上产生以下输出:

$ python test_log.py
[<StreamHandler <stderr> (DEBUG)>]

由于我已经定义了一个处理程序并将日志级别设置为调试,我希望hello world日志消息会显示在上面的示例中。

4

1 回答 1

1

如果没有明确设置记录器的级别,则系统会查找祖先记录器的级别,直到找到其级别已明确设置的记录器。在这种情况下,它是根记录器,它是名为“test”的记录器的父级。将此记录器或根记录器的级别设置为 DEBUG 将导致输出日志消息。有关 Python 日志记录中的事件信息流,请参阅文档的这一部分

于 2018-12-04T12:31:20.533 回答