确定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模块自身使用的代码的图像。)

记录代码