我有一個這樣的文件結構:util/└── utilA.pysrc/└── sublevel └── moduleB.py在moduleB我用來from util.utilA import *從 util 中導入函數。在內部moduleB,我想禁用logging.info()util 中的 ,但以下兩行不起作用,如果我運行,moduleB我仍然會看到從以下函數生成的日志記錄utilA:logging.getLogger('util.utilA').propagate = Falselogging.getLogger('util.utilA').setLevel(logging.ERROR)我也試過了logging.getLogger('util'),logging.getLogger('utilA')但都沒有用。logging.getLogger('pdfminer')...讓我感到困惑的一件事是,我對另一個模塊pdfminer使用了相同的兩行 ( ) ,它成功地禁用了該模塊的日志記錄。它只是不適用于我的本地utilA.有人能幫忙嗎?謝謝你!
1 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
日志記錄基于您在獲取記錄器時使用的名稱,而不是執行日志記錄的模塊的名稱。特別是,logging.info()
使用根記錄器。如果要調整給定模塊的日志記錄,請確保它沒有使用根記錄器并使用其getLogger("somename")
記錄器名稱。
添加回答
舉報
0/150
提交
取消