我有一个 Python cli 项目,它使用Click和click-log。我的项目有两个模块cli.py
和doit.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] 删除。
我来说两句