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中文網其他相關文章!