Python 动态检测日志记录级别是否已启用

Python 动态检测日志记录级别是否已启用,python,logging,Python,Logging,为了减轻我的申请压力,我正在做以下工作: log = logging.getLogger(__name__) DEBUG = log.isEnabledFor(logging.DEBUG) ... if DEBUG: log.debug('blah') 这很好用。。。除非我动态地重新配置记录器,这就是我正在做的。.debug级别从未检测到处于活动状态,因为在应用程序启动时,当模块被导入时,它被禁用 关于如何在动态配置后更新模块级DEBUG标志的任何提示?我认为答案是完全停止使用模块

为了减轻我的申请压力,我正在做以下工作:

log = logging.getLogger(__name__)
DEBUG = log.isEnabledFor(logging.DEBUG)

...

if DEBUG:
    log.debug('blah')
这很好用。。。除非我动态地重新配置记录器,这就是我正在做的。
.debug
级别从未检测到处于活动状态,因为在应用程序启动时,当模块被导入时,它被禁用


关于如何在动态配置后更新模块级
DEBUG
标志的任何提示?

我认为答案是完全停止使用模块级标志。我还将跳过使用
isenablefor
,因为单独的日志记录方法可以为您完成这项工作,因为日志记录模块总是在AFAICT()中完成这项工作。我尽可能地回头看


您是否已验证调用
log.debug
实际上是一个性能问题?

如何使用
debug=lambda:log.isenablefor(logging.debug)
debug()
?这将用调用
debug()
取代我对
.debug>的昂贵调用