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

我有一个这样的文件结构:


util/

└── utilA.py

src/

└── sublevel

    └── moduleB.py

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


在内部moduleB,我想禁用logging.info()util 中的 ,但以下两行不起作用,如果我运行,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.


有人能帮忙吗?谢谢你!


杨魅力
浏览 92回答 1
1回答

慕姐4208626

日志记录基于您在获取记录器时使用的名称,而不是执行日志记录的模块的名称。特别是,logging.info()使用根记录器。如果要调整给定模块的日志记录,请确保它没有使用根记录器并使用其getLogger("somename")记录器名称。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python