使用 disable_existing_loggers = false 的日志记录配置
Posted
技术标签:
【中文标题】使用 disable_existing_loggers = false 的日志记录配置【英文标题】:Logging configuration with disable_existing_loggers = false 【发布时间】:2022-01-17 17:48:42 【问题描述】:Python 日志记录教程暗示 disable_existing_loggers
应该是正确的,但我在配置时遇到了问题。我认为正在发生的事情是__main__
模块导入了应用程序的各个部分,这些应用程序在配置日志系统之前设置了记录器(在导入期间)。这些记录器在配置时被禁用并且不会产生预期的输出。
我有数百个遗留源代码文件和十几个__main__
模块入口点。删除所有设置单个记录器的***调用似乎是一个困难的猫群问题。重新工作每个 __main__
模块可能是可能的,但简单地将 disable_existing_loggers
翻转为假(在 .json 中)要容易得多并且似乎有效。我认为没有人对记录器做任何非常棘手的事情,而且我没有看到补丁测试有限的问题。
这种方法的后果和陷阱是什么?需要做什么才能使其成为可靠的解决方案?
【问题讨论】:
【参考方案1】:我不认为文档暗示它应该是True
- 他们只是声明默认值是True
以实现向后兼容性,即为了不破坏现有(旧) 代码。将False
传递给disable_existing_loggers
很好,很多人都这样做。当然,请确保您确实希望现有的记录器保持启用状态。
【讨论】:
好的,谢谢。我们将尝试更改它,因为我们知道它有助于我们的某些代码。以上是关于使用 disable_existing_loggers = false 的日志记录配置的主要内容,如果未能解决你的问题,请参考以下文章