如何使用 click_log 控制具有多个模块的 python 项目中的日志记录级别?

哈罗莱奥

我有一个 Python cli 项目,它使用Clickclick-log我的项目有两个模块cli.pydoit.py.

cli.py我使用的主模块中

log = logging.getLogger(__name__)
click_log.basic_config(log)

正如 click_log 文档中所建议的那样,该模块中的日志记录完全可以通过--verbosity命令行上的选项进行控制

在另一个模块中,doit.py我实例化记录器,这是最佳实践

log = logging.getLogger(__name__)

然而,这将导致对日志级别doit模块总是被设置为WARNING独立的命令行选项。

我如何以一种也适用于辅助模块的方式使用 click_log doit.py

哈罗莱奥

我找到了以下解决方案:

doit在 main 中分配了logger 变量,cli.py如下所示:

# --- Excerpt from cli.py ---
.
.
.
import doit

log = logging.getLogger(__name__)
doit.log = log
click_log.basic_config(log)
.
.
.

我对这个解决方案不太满意。- 将记录器变量设置为 中的同一个对象看起来很复杂cli.py,但这是我能想到的最好的使用 click_log 的方法。这在我看来不是很

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python日志-如何动态控制日志记录级别

如何仅在Python中设置模块的日志记录级别?

如何覆盖Python模块的默认日志记录级别?

如何在python日志记录模块中指定级别?

当使用多个具有不同日志级别的处理程序时,出现意外的python logger记录输出

如何在spring MVC web项目中设置log4j日志级别

如何在python日志记录模块中获取当前日志级别

我如何使用Log4j配置文件生成两个具有不同日志记录级别的日志记录

如何从多个模块进行日志记录python日志记录

使用python日志记录模块设置日志记录级别的2种不同方法之间的区别

如何使用跨多个模块的日志记录对象来完成Python日志记录?

Python日志记录-具有root记录器的多个模块中的配置文件

即使设置了级别,Python日志记录模块也不记录信息

如何仅记录特定级别的python日志记录

使用多个模块的python日志记录并写入文件和RotatingFileHandler

如何在具有多个电源的单个模块项目中设置sbt-native-packager

如何使用python日志记录框架在警告或信息级别通过回溯记录异常?

如何在Sentry Python SDK中定义日志记录级别

如何更改未命名记录器的python日志级别?

如何使用日志记录Python模块写入文件?

Python日志记录-多个模块

多个模块的Python日志记录

如何使用 wasm-bindgen - 导入具有多个模块级别的 js

Python日志记录:如何将日志记录级别作为参数传递

Python日志记录不会使用basicConfig设置日志记录级别

使用Python中的日志记录模块进行颜色日志记录

如何打印python日志记录模块使用的当前日志记录配置?

如何调试python日志记录模块?

如何从Python日志记录模块写入Kafka?