Python logger未打印调试消息,尽管设置正确
我有下面的代码,我只想在这里玩一下日志记录 模块使用contextmanager 可以看到,在main.log_级别内,记录器级别应该是DEBUG,并且应该打印消息“DEBUG with logger:will print”。但是,当我运行代码时,不会打印此调试消息。查看代码打印,它表示记录器在log_级别内具有调试级别,并且当退出log_级别时,该级别返回到警告级别。这是我在使用python 3执行时的输出:Python logger未打印调试消息,尽管设置正确,python,python-3.x,logging,contextmanager,Python,Python 3.x,Logging,Contextmanager,我有下面的代码,我只想在这里玩一下日志记录 模块使用contextmanager 可以看到,在main.log_级别内,记录器级别应该是DEBUG,并且应该打印消息“DEBUG with logger:will print”。但是,当我运行代码时,不会打印此调试消息。查看代码打印,它表示记录器在log_级别内具有调试级别,并且当退出log_级别时,该级别返回到警告级别。这是我在使用python 3执行时的输出: log_level.old_level: 30 log_level.new_leve
log_level.old_level: 30
log_level.new_level: 10
__main__.log_level.logger.level: 10
Warning
__main__.log_level.logger.level: 10
__main__.logger.level: 30
我想了解logger.debug('debug with logger:will print')不打印的原因。您还没有将任何处理程序附加到记录器。因此,使用了一个内部的“最后处理程序”,它只输出
警告
及以上级别的事件。请参阅文档的一部分,以了解如果未提供处理程序配置会发生什么情况。如果在使用with
语句调用logging.basicConfig()
之前调用,则应显示DEBUG
消息
请注意,这些文档还包含使用上下文管理器进行日志记录的方法。谢谢你,Vinay,现在它可以工作了。我将阅读您提到的文档和示例,以便更好地了解正在发生的事情。干杯
log_level.old_level: 30
log_level.new_level: 10
__main__.log_level.logger.level: 10
Warning
__main__.log_level.logger.level: 10
__main__.logger.level: 30