【发布时间】:2022-01-17 17:48:42
【问题描述】:
Python 日志记录教程暗示 disable_existing_loggers 应该是正确的,但我在配置时遇到了问题。我认为正在发生的事情是__main__ 模块导入了应用程序的各个部分,这些应用程序在配置日志系统之前设置了记录器(在导入期间)。这些记录器在配置时被禁用并且不会产生预期的输出。
我有数百个遗留源代码文件和十几个__main__ 模块入口点。删除所有设置单个记录器的顶级调用似乎是一个困难的猫群问题。重新工作每个 __main__ 模块可能是可能的,但简单地将 disable_existing_loggers 翻转为假(在 .json 中)要容易得多并且似乎有效。我认为没有人对记录器做任何非常棘手的事情,而且我没有看到补丁测试有限的问题。
这种方法的后果和陷阱是什么?需要做什么才能使其成为可靠的解决方案?
【问题讨论】:
标签: python logging configuration legacy-code