簡體   English   中英

Python - 如何禁用從父目錄導入的模塊的日志記錄?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM