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

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

Feb 21, 2024 am 10:10 AM

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用Python查找文本文件的ZIPF分佈 如何使用Python查找文本文件的ZIPF分佈 Mar 05, 2025 am 09:58 AM

如何使用Python查找文本文件的ZIPF分佈

如何在Python中下載文件 如何在Python中下載文件 Mar 01, 2025 am 10:03 AM

如何在Python中下載文件

python中的圖像過濾 python中的圖像過濾 Mar 03, 2025 am 09:44 AM

python中的圖像過濾

我如何使用美麗的湯來解析HTML? 我如何使用美麗的湯來解析HTML? Mar 10, 2025 pm 06:54 PM

我如何使用美麗的湯來解析HTML?

如何使用Python使用PDF文檔 如何使用Python使用PDF文檔 Mar 02, 2025 am 09:54 AM

如何使用Python使用PDF文檔

如何在django應用程序中使用redis緩存 如何在django應用程序中使用redis緩存 Mar 02, 2025 am 10:10 AM

如何在django應用程序中使用redis緩存

引入自然語言工具包(NLTK) 引入自然語言工具包(NLTK) Mar 01, 2025 am 10:05 AM

引入自然語言工具包(NLTK)

如何使用TensorFlow或Pytorch進行深度學習? 如何使用TensorFlow或Pytorch進行深度學習? Mar 10, 2025 pm 06:52 PM

如何使用TensorFlow或Pytorch進行深度學習?

See all articles