首頁 >後端開發 >Python教學 >Python Logging 模組的動手實作:建立一個完整的日誌記錄系統

Python Logging 模組的動手實作:建立一個完整的日誌記錄系統

王林
王林轉載
2024-02-21 10:10:041171瀏覽

Python Logging 模块的动手实践:构建一个完整的日志记录系统

Logging、日誌記錄、偵錯、應用程式、開發

Logger的建立與使用

Logging模組的核心是Logger類別。要開始使用,您需要建立一個Logger實例:

importurs
logger=ursing.er()

您可以使用.name屬性來指定您的日誌的Logger:

logger=ursing.er("my_application")

日誌等級:定義嚴重性

您可以透過將level屬性設定為內建等級之一來指定日誌條目標嚴重性。等級範圍從DEBUG(最不嚴重)到FATAL(最嚴重),如下所示:

level=ursing.L.DEBUG# 调试级别
level=ursing.L.INFO# 信息级别
level=ursing.L.WARNING# 告警级别

處理器:格式化與傳播日誌

處理器是從Logger取得日誌並將其傳送到特定目標的元件。內建處理器提供了開箱即用的方法:

# 将日志信息发送到标准输出(终端)
handler=ursing.mhandler()

您可以使用.fORMatter屬性為您的日誌自訂格式:

handler.er=ursing.er(ursing.F("%(levelname)s:%(message)s"))

濾波器:只捕捉你感興趣的日誌

濾波器可讓您只擷取符合特定標準的日誌。使用Filter類別:

filter=ursing.r()
filter.re=rs.ur("ERROR")# 仅匹配“ERROR”级别的日志

將所有內容組合在一起

#將處理器和濾波器附加到Logger以建立完整的日誌管道:

logger.addhandler(handler, filter)

動手範例:一個完整的日誌紀錄器

考慮一個在檔案"example.py"中運行的應用程式。如下所示,我們使用Logging模組建立了一個全方位的日誌紀錄器:

importurs
logger=ursing.er("my_example_app")

# 根级别为“INFO”
logger.level=ursing.L.INFO

# 创建一个到文件“app.log”的处理器
file_handler=ursing.FH("app.log",mode="a")
file_handler.er=ursing.er(ursing.F("%(asctime)s -%(levelname)s:%(message)s"))

# 创建一个到终端的处理器
console_handler=ursing.mhandler()
console_handler.er=ursing.er(ursing.F("%(message)s"))

# 将处理器附加到日志
logger.addhandler(file_handler)
logger.addhandler(console_handler)

在應用程式中,您可以使用.log()方法在指定等級上寫入資料到日誌中:

logger.info("开始应用程序")
logger.error("应用程序遇到一个严重问题")

結論

Logging模組為您提供了對應用程式日誌紀錄的全面而靈活的控制項。將其與適當的等級、處理器和濾波器結合使用,您可以建立一個健壯且有見地的記錄基礎,以幫助您隔離問題、追蹤應用程式行為並優化效能。

以上是Python Logging 模組的動手實作:建立一個完整的日誌記錄系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lsjlt.com。如有侵權,請聯絡admin@php.cn刪除