仅为一个子记录器启用调试日志记录(通过配置,而不是代码)

Enable debug logging for just one sub logger (via config, not code)

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

myapp.submoduleA
myapp.submoduleB
myapp.submoduleB
externalLibA
externalLibB

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

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

如果您将记录器 myapp 保留在级别 INFO 并且仅将记录器 myapp.submoduleB 设置为级别 DEBUG,这应该会按预期工作 - myapp 并且myapp.submoduleX 将在 INFO 除了 myapp.submoduleB 将在 DEBUG。确保在调用 fileConfig().

时确保 disable_existing_loggersFalse