确定Python中的根记录器是否设置为DEBUG级别?
如果我使用如下命令行参数将日志记录模块设置为“调试”:
if (opt["log"] == "debug"):
logging.basicConfig(level=logging.DEBUG)
以后如何判断记录器是否设置为“调试”?我正在写一个装饰器 如果将 True 标志传递给函数,则会对函数计时,如果没有给出标志,则默认 当根记录器设置为 DEBUG 时打印计时信息。
If I set the logging module to DEBUG with a command line parameter like this:
if (opt["log"] == "debug"):
logging.basicConfig(level=logging.DEBUG)
How can I later tell if the logger was set to DEBUG? I'm writing a decorator that
will time a function if True flag is passed to it, and if no flag is given, it defaults
to printing timing information when the root logger is set to DEBUG.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
实际上,有一个更好的方法:使用代码
logging.getLogger().isEnabledFor(logging.DEBUG)
。我在尝试了解如何处理 getEffectiveLevel() 的结果时发现了它。下面是日志记录模块本身使用的代码。
Actually, there's one better: use the code
logging.getLogger().isEnabledFor(logging.DEBUG)
. I found it while trying to understand what to do with the result ofgetEffectiveLevel()
.Below is the code that the logging module itself uses.
不带参数的
logging.getLogger()
获取根级别记录器。http://docs.python.org/library/logging.html#logging .Logger.getEffectiveLevel
logging.getLogger()
without arguments gets the root level logger.http://docs.python.org/library/logging.html#logging.Logger.getEffectiveLevel
只是
Just