【问题标题】:Enable debug logging for just one sub logger (via config, not code)仅为一个子记录器启用调试日志记录(通过配置,而不是代码)
【发布时间】:2020-11-09 19:48:46
【问题描述】:

我在相当“默认”的设置中使用 Python 日志记录模块:通过 ini 格式的配置文件并使用 logging.config.fileConfig 进行配置。记录器名称是模块名称,所以我有这样的记录器:

myapp.submoduleA
myapp.submoduleB
myapp.submoduleB
externalLibA
externalLibB

在我的默认设置中,我将myapp 的日志级别设置为INFO,并将externalLibAexternalLibB 的日志级别设置为WARN。但现在我只想为myapp.submoduleB 启用DEBUG。有没有一种简单的方法可以做到这一点,无需编写代码,也无需显式配置所有其他子处理程序?

我目前看到的唯一选项是不为myapp 配置级别,为myapp.submoduleB 配置DEBUG,然后为所有其他子处理程序手动配置INFO。由于我在现实生活中拥有三个以上,这会很烦人,我想知道其他人是如何处理这个问题的。

【问题讨论】:

    标签: python python-3.x logging python-logging


    【解决方案1】:

    如果您将记录器myapp 保留在级别INFO 并将记录器myapp.submoduleB 设置为级别DEBUG,这应该可以按预期工作-myappmyapp.submoduleX 将位于INFO,@ 除外987654328@ 将在DEBUG。确保在调用fileConfig() 时确保disable_existing_loggersFalse

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-12
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 2022-01-01
      • 2016-03-26
      相关资源
      最近更新 更多