我有以下基于Logging Cookbook的logging
测试的极简示例:
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
日志消息出现在上面的示例中。
答案 0 :(得分:0)
如果未显式设置记录器的级别,则系统将查找祖先记录器的级别,直到到达显式设置了级别的记录器为止。在这种情况下,它是根记录器,它是名为“ test”的记录器的父级。将此记录器或根记录器的级别设置为DEBUG会导致输出日志消息。有关Python日志记录中的事件信息流,请参见文档的this part。