如何在 Python 中停用匯入模組的日誌記錄?


應用程式可以使用logging模組配置各種日誌處理程式,並將日誌訊息路由到這些處理程式。這使得設計非常靈活,可以處理各種用例。

呼叫方必須首先請求一個命名日誌記錄器才能生成日誌訊息。程式可以使用名稱為各種日誌記錄器設定各種規則。

然後,程式可以使用此日誌記錄器以各種日誌級別(DEBUG、INFO、ERROR 等)生成純文字訊息,從而能夠以與低優先順序訊息不同的方式處理高優先順序訊息。以下是一個解釋相同的示例:

import logging logging = logging.getLogger("logger") logging.info("Python logging")

該訊息在內部轉換為 LogRecord 物件,併發送到為此日誌記錄器指定的 Handler 物件。然後,處理程式將使用 Formatter 將 LogRecord 轉換為字串併發出該字串。

要停用 Python 中匯入模組的日誌記錄,我們需要使用 getLogger() 函式。

getLogger() 函式

日誌記錄器的名稱是 getLogger() 方法接受的唯一引數。如果提供了名稱,則會生成對具有該名稱的日誌記錄器的引用;否則,它會返回根。對具有相同名稱的 getLogger() 的多次呼叫將引用相同的日誌記錄器物件。

示例

您可以修改處理這些訊息的日誌記錄器的日誌級別。如果級別設定為 WARNING,則請求訊息將被刪除,但錯誤和警告將保留。

以下是如何使用 getLogger() 函式停用日誌記錄的示例:

import logging logging.getLogger("Python").setLevel(logging.WARNING) logging.getLogger("Coding").setLevel(logging.WARNING)

注意:如果您不想將模組名稱作為字串編寫,也可以使用 imported module.name__。如果要更進一步,並且只想記錄錯誤或嚴重重要訊息,則可以選擇將 logging.WARNING 分別替換為 logging.ERROR 和 logging.CRITICAL。

更新於: 2022年11月14日

21K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.