为减轻我的申请压力,我正在做以下事情:
log = logging.getLogger(__name__)
DEBUG = log.isEnabledFor(logging.DEBUG)
...
if DEBUG:
log.debug('blah')
哪种方法正常...除非我动态重新配置记录器,这就是我正在做的事情。永远不会将.debug
级别检测为活动级别,因为在应用程序启动时,模块导入时会被禁用。
有关如何在动态配置后更新模块级DEBUG
标志的任何提示吗?
答案 0 :(得分:1)
我认为答案是完全停止使用模块级标志。我也会跳过使用isEnabledFor
,因为各个日志记录方法会为您执行此操作,因为日志记录模块始终执行此AFAICT(current implementation)。我看起来早在Python 2.3。
您是否确认调用log.debug
实际上是一个性能问题?