配置 Logging 模塊
Logging 模塊通過 logging.basicConfig()
函數提供基本的配置。您可以使用此函數設置日志記錄級別(例如 INFO 或 DEBUG)、處理程序(例如控制臺或文件),以及格式化器(用于自定義日志消息的外觀)。以下是一個示例配置:
import logging logging.basicConfig(level=logging.INFO, fORMat="%(asctime)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
登錄后復制
添加日志記錄器
要開始記錄日志,您需要創建一個日志記錄器。使用 logging.getLogger()
函數獲取日志記錄器,它將基于提供的名稱從根日志記錄器中檢索或創建日志記錄器。
logger = logging.getLogger(__name__)
登錄后復制
記錄消息
使用日志記錄器中的 debug()
、info()
、warning()
、error()
和 critical()
方法記錄消息。這些方法分別對應不同的日志記錄級別。
logger.info("Application started") logger.error("An error occurred")
登錄后復制
配置日志記錄級別
日志記錄級別控制需要記錄的消息類型。您可以使用 logging.setLevel()
函數設置日志記錄級別。級別從最低到最高排序,依次為 DEBUG、INFO、WARNING、ERROR 和 CRITICAL。
logger.setLevel(logging.DEBUG)
登錄后復制
使用處理程序
處理程序用于將日志消息發送到特定目標,例如控制臺、文件或遠程服務器。您可以使用 logging.addHandler()
函數添加處理程序。
import logging.handlers # 將日志輸出到控制臺 console_handler = logging.StreamHandler() logger.addHandler(console_handler) # 將日志輸出到文件 file_handler = logging.FileHandler("app.log") logger.addHandler(file_handler)
登錄后復制
使用格式化器
格式化器用于自定義日志消息的外觀。您可以使用 logging.Formatter()
函數創建格式化器。格式化器字符串使用以下占位符:
%(asctime)s
:消息的時間戳
%(levelname)s
:消息的級別
%(message)s
:消息的內容
%(name)s
:消息的日志記錄器名稱
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") console_handler.setFormatter(formatter)
登錄后復制
最佳實踐
遵循以下最佳實踐以有效利用 Logging 模塊:
選擇合適的日志記錄級別,以避免記錄過多或過少的信息。
使用有意義的日志消息,包括足夠的信息。
在生產環境中使用文件處理程序,以避免丟失控制臺輸出。
定期檢查日志,以了解應用程序的行為和錯誤。
結論
python Logging 模塊是一個強大的工具,可以幫助您監視和調試應用程序。通過遵循本指南,您可以快速上手使用該模塊,并改善應用程序的日志記錄實踐。