根记录器在(我认为)应该记录时不会记录:
import logging
# NOTE: I make sure to set the root logger level to logging.DEBUG
logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)
logging.debug('This is a debugging test.')
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这应该记录一些东西,但它什么也没做。快速谷歌搜索并没有帮助我解决这个问题,官方文档也没有帮助我解决这个问题也没有帮助我解决这个问题。
另一方面,如果我使用logging.warning而不是logging.debug,它确实有效。
我究竟做错了什么?
编辑:
检查当前级别logging.getLogger().getEffectiveLevel()表明我的级别仍处于30,就像在调用之前一样logging.basicConfig。
有效检查logging.getLogger().isEnabledFor(logging.DEBUG)告诉我根记录器级别未启用logging.DEBUG。
编辑:原来OP(我)的麻烦是由于logging.debug之前已经打电话过logging.basicConfig,因此将配置设置为默认值并且调用logging.basicConfig被忽略,正如 @SmCaterpillar 指出的那样。
虽然basicConfig,这种替代解决方案允许您在设置后“强制”根记录器级别,但仍然有用!
找到了一个“解决方案”:
\n\n# [\xe2\x80\xa6] Previous code\n\n# Sets the root logger level\nlogging.getLogger().setLevel(logging.DEBUG)\n\nlogging.debug(\'Test\') # Displays \'DEBUG:root:Test\'\nRun Code Online (Sandbox Code Playgroud)\n\n但它不执行我给出的格式logging.basicConfig。
这就是说我已经很满意了:这已经是某种进步了。即使不完全符合我期望的格式,记录也总是比不记录要好。
\n| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |