我有以下基于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
日志消息显示在上面的示例中。
最佳答案
如果未显式设置记录器的级别,系统将查找祖先记录器的级别,直到找到显式设置级别的记录器。在本例中,根记录器是名为“test”的记录器的父记录器。将此记录器或根记录器的级别设置为 DEBUG 将导致输出日志消息。请参阅this part Python 日志记录中事件信息流的文档。
关于python - 设置处理程序和日志级别后,记录器不打印调试消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53603789/