基本用法
如何將日志記錄器添加到我的腳本?
import logging # 創建一個日志記錄器 logger = logging.getLogger(__name__)
登錄后復制
如何記錄消息?
logger.info("這是信息消息") logger.warning("這是警告消息") logger.error("這是錯誤消息")
登錄后復制
配置日志記錄
如何更改日志記錄級別?
# 設置根日志記錄器的級別為 INFO logging.basicConfig(level=logging.INFO) # 設置特定日志記錄器的級別為 DEBUG logging.getLogger("mymodule").setLevel(logging.DEBUG)
登錄后復制
如何將日志記錄輸出到文件?
# 將日志記錄輸出到名為 "mylog.txt" 的文件 logging.basicConfig(filename="mylog.txt")
登錄后復制
高級配置
如何自定義日志記錄格式?
# 自定義日志記錄格式 logging.basicConfig(fORMat="%(asctime)s %(levelname)s:%(message)s")
登錄后復制
如何使用多種處理程序?
# 創建一個文件處理程序和一個控制臺處理程序 file_handler = logging.FileHandler("mylog.txt") console_handler = logging.StreamHandler() # 將處理程序添加到日志記錄器 logger.addHandler(file_handler) logger.addHandler(console_handler)
登錄后復制
自定義處理程序
如何創建自定義處理程序?
import logging # 創建一個自定義處理程序 class MyHandler(logging.Handler): def emit(self, record): # 自定義處理記錄的方式 # 添加自定義處理程序到日志記錄器 logger.addHandler(MyHandler())
登錄后復制
如何過濾日志記錄消息?
import logging # 創建一個過濾 filter = logging.Filter("mymodule") # 將過濾添加到處理程序 handler.addFilter(filter)
登錄后復制
調試和故障排除
找不到日志記錄輸出?
檢查日志記錄級別是否正確設置。
檢查處理程序是否已添加到日志記錄器。
確保日志文件有寫入權限。
日志記錄信息太多?
降低日志記錄級別。
使用過濾來排除不需要的消息。
結論
python logging 模塊提供了強大的功能,可幫助您跟蹤、記錄和調試應用程序的運行狀況。通過理解本文所述的基本概念和高級技術,您可以有效配置日志記錄并創建針對您特定需求而定制的自定義解決方案。