在最简单的情况下,我没有从logging.debug
得到任何输出(我确实从logger.warn
得到了输出。)
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logger.warn('Logger is warning')
logger.debug('Logger is debugging')
print(logger.getEffectiveLevel(),
logger.isEnabledFor(logging.DEBUG),
file=sys.stderr)
最后一行打印记录器的日志级别,显示为logging.DEBUG
,以及是否为该级别启用记录器,这是真的。但是输出是为log.warn
而不是为log.debug
显示的。我错过了什么
[Python 3.5,OS X 10.11]
原因是您尚未指定处理程序。在Python3.5上,如果没有指定处理程序,则使用内部"handler of last resort",但该内部处理程序的级别为
WARNING
,因此不会显示严重性较低的消息。您需要指定一个处理程序并添加它,如下示例所示:在代码段中的
setLevel
语句之前或之后相关问题 更多 >
编程相关推荐