Python - 如何禁用从父目录导入的模块的日志记录?

雷克斯

我有这样的文件结构:

util/
└── utilA.py
src/
└── sublevel
    └── moduleB.py

moduleB我用来from util.utilA import *从util导入函数。

在里面moduleB,我想禁用logging.info()util 中's,但以下两行不起作用,如果我运行,moduleB我仍然会看到从 中的函数生成的日志记录utilA

logging.getLogger('util.utilA').propagate = False
logging.getLogger('util.utilA').setLevel(logging.ERROR)

我也尝试过logging.getLogger('util')logging.getLogger('utilA')但这些都没有奏效。

也让我感到困惑的一件事是,我logging.getLogger('pdfminer')...对另一个模块pdfminer使用了相同的两行 ( ) ,它成功地禁用了该模块的日志记录。它只是不适用于我的本地utilA.

有人能帮忙吗?谢谢!

德莱尼

日志记录基于您在获取记录器时使用的名称,而不是执行日志记录的模块的名称。特别是logging.info()使用根记录器。如果要调整给定模块的日志记录,请确保它没有使用根记录器并使用其getLogger("somename")记录器名称。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章