[英]Python - How to disable logging from a module imported from the parent directory?
我有這樣的文件結構:
util/
└── utilA.py
src/
└── sublevel
└── moduleB.py
在moduleB
,我使用from util.utilA import *
從 util 導入函數。
在moduleB
內部,我想禁用 util 中的logging.info()
,但以下兩行不起作用,如果我運行moduleB
我仍然會看到從utilA
中的函數生成的日志記錄:
logging.getLogger('util.utilA').propagate = False
logging.getLogger('util.utilA').setLevel(logging.ERROR)
我還嘗試了logging.getLogger('util')
和logging.getLogger('utilA')
並且這些都不起作用。
讓我感到困惑的一件事是,我對另一個模塊pdfminer使用了相同的兩行( logging.getLogger('pdfminer')...
),並且它成功地禁用了該模塊的日志記錄。 它對我的本地utilA
。
有人能幫忙嗎? 謝謝!
日志記錄基於您在獲取記錄器時使用的名稱,而不是執行日志記錄的模塊的名稱。 特別是, logging.info()
使用根記錄器。 如果要調整給定模塊的日志記錄,請確保它沒有使用根記錄器並使用其getLogger("somename")
記錄器名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.