Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python logger未打印调试消息,尽管设置正确_Python_Python 3.x_Logging_Contextmanager - Fatal编程技术网

Python logger未打印调试消息,尽管设置正确

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

我有下面的代码,我只想在这里玩一下日志记录 模块使用contextmanager

可以看到,在main.log_级别内,记录器级别应该是DEBUG,并且应该打印消息“DEBUG with logger:will print”。但是,当我运行代码时,不会打印此调试消息。查看代码打印,它表示记录器在log_级别内具有调试级别,并且当退出log_级别时,该级别返回到警告级别。这是我在使用python 3执行时的输出:

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