确定Python日志logging器是否设置为DEBUG级别?
如果我使用命令行参数将日志模块设置为DEBUG,如下所示:
if (opt["log"] == "debug"): logging.basicConfig(level=logging.DEBUG)
我怎么能稍后告诉logging器是否设置为DEBUG? 我正在写一个装饰器,如果True标志被传递给它,并且如果没有给定标志,它将默认打印时间信息,当根logging器被设置为DEBUG时,将会定时一个函数。
logging.getLogger().getEffectiveLevel()
不带参数的logging.getLogger()
获取根级logging器。
http://docs.python.org/library/logging.html#logging.Logger.getEffectiveLevel
实际上,还有一个更好的方法:使用代码logging.getLogger().isEnabledFor(logging.DEBUG)
。 我在试图理解getEffectiveLevel()
的结果如何处理时发现它。 🙂
(以下是日志logging模块自身使用的代码的图像。)