深入 Python logging 模組的寶庫
#python logging 模組是記錄和處理應用程式日誌的強大工具,它提供了廣泛的功能和可自訂性,讓開發人員能夠收集有價值的信息,用於調試、分析和監視。本文將揭示 Python logging 模組的秘籍,解鎖定其無限潛力,幫助您創建健壯、可維護且高效的應用程式。
等級與篩選器:控制日誌資訊的粒度
logging 模組可讓您根據日誌資訊的嚴重性對資訊進行分級,從 DEBUG 到 CRITICAL。您可以使用篩選器控制哪些訊息被記錄和處理,從而避免日誌檔案被無關資訊淹沒。以下範例展示如何配置一個過濾器,僅記錄 DEBUG 和 INFO 層級的訊息:
import logging # 设置日志级别 logging.basicConfig(level=logging.INFO) # 创建一个过滤器,仅记录 DEBUG 和 INFO 消息 filter = logging.Filter() filter.filter = lambda record: record.levelno in (logging.DEBUG, logging.INFO) # 为根记录器添加过滤器 logging.getLogger().addFilter(filter)
格式化器:自訂日誌資訊的呈現方式
logging 模組提供了一系列格式化器,用於自訂日誌資訊的呈現方式。您可以控制訊息格式、時間戳記格式以及其他元資料。透過自訂格式化器,您可以建立有意義且可讀的日誌文件,以便於快速識別和分析問題。以下範例展示如何建立一個自訂格式化器,新增時間戳記和訊息層級:
import logging # 创建一个自定义格式化器 fORMatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") # 为根记录器设置自定义格式化器 logging.getLogger().handlers[0].setFormatter(formatter)
處理器:將日誌訊息傳送至不同目的地
logging 模組可讓您將日誌資訊傳送至不同的目的地,例如控制台、檔案或遠端伺服器。透過使用處理器,您可以靈活地控制日誌資訊的儲存和分發。以下範例展示如何設定一個處理器,將日誌資訊寫入檔案:
import logging # 创建一个文件处理器,将日志信息写入文件 file_handler = logging.FileHandler("my_log.log") # 为根记录器添加文件处理器 logging.getLogger().addHandler(file_handler)
記錄器層次結構:組織與過濾日誌資訊
logging 模組使用記錄器層次結構來組織和篩選日誌資訊。每個記錄器都有一個名稱,用於唯一地識別其在層次結構中的位置。子記錄器繼承其父記錄器的設置,除非另行配置。透過使用記錄器層次結構,您可以有條理地記錄日誌訊息,並透過設定篩選器輕鬆過濾不相關的資訊。以下範例展示如何建立子記錄器,並為其設定不同的日誌等級:
import logging # 创建一个根记录器 root_logger = logging.getLogger() # 创建一个子记录器,名称为 "my_module" my_logger = logging.getLogger("my_module") # 为子记录器设置不同的日志级别 my_logger.setLevel(logging.DEBUG)
上下文管理器:暫時修改日誌設定
logging 模組提供了一個上下文管理器,可讓您暫時修改日誌設置,而不會影響全域配置。這對於在特定程式碼區塊中啟用或停用日誌非常有用。以下範例展示如何使用上下文管理器暫時停用日誌記錄:
import logging with logging.disable(logging.CRITICAL): # 在此代码块中禁用日志记录 pass
透過 Python logging 模組提升應用程式品質
#透過掌握 Python logging 模組的秘籍,您可以提升應用程式的品質。透過精心控制日誌資訊的粒度、呈現方式、儲存方式和組織方式,您可以建立健壯、可維護且高效的應用程序,它們可以從詳細的日誌資訊中獲益。
以上是Python logging 模組的秘技:解鎖其無限潛力的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

禪工作室 13.0.1
強大的PHP整合開發環境