根记录器在(我认为)应该记录时不记录:
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.')
根据我的理解,这应该记录一些东西,但它什么都不做。 快速谷歌搜索并没有帮助我解决这个问题,official documentation也没有。
另一方面,如果我使用logging.warning
代替logging.debug
,它确实有效。
我做错了什么?
编辑:
使用logging.getLogger().getEffectiveLevel()
检查当前级别表示该级别仍为30
,就像调用logging.basicConfig
之前一样。
有效地检查logging.getLogger().isEnabledFor(logging.DEBUG)
告诉我,logging.DEBUG
未启用根记录器级别。
答案 0 :(得分:3)
编辑:关闭OP(我)的麻烦是由于在logging.debug
之前已经调用logging.basicConfig
,因此将配置设置为默认值并调用{@ 1}}被@SmCaterpillar指出忽略了。
虽然,但这种替代解决方案可让您“强迫”#34; <{1}}已设置后的根记录器级别仍然有用!
找到一个&#34;解决方案&#34;:
logging.basicConfig
但它并没有执行我在basicConfig
中提供的格式。
那说我已经满意了:已经有了一些进展。即使不完全符合我预期的格式,记录总是比没有记录更好。