python logging 模組 日誌記錄 例外處理 偵錯
1. 日誌記錄等級
日誌記錄等級指定了哪些事件應記錄。從最低級別到最高級別,這些級別包括:
使用 logging.basicConfig()
函數設定日誌記錄級別,例如:
import logging logging.basicConfig(level=logging.INFO)
2.日誌記錄處理器
處理器定義了日誌記錄訊息應如何處理。一些常用的處理器包括:
import logging # 将日志记录消息打印到控制台 stdout_handler = logging.StreamHandler() stdout_handler.setLevel(logging.WARNING) # 将日志记录消息写入文件 file_handler = logging.FileHandler("log.txt") file_handler.setLevel(logging.DEBUG) # 将日志记录消息通过电子邮件发送 smtp_handler = logging.SMTPHandler("localhost", "info@example.com", "sender@example.com", "Subject: Log Alert") smtp_handler.setLevel(logging.ERROR) # 添加处理器到根记录器 logging.getLogger().addHandler(stdout_handler) logging.getLogger().addHandler(file_handler) logging.getLogger().addHandler(smtp_handler)
3. 日誌記錄格式器
格式器定義了日誌記錄訊息的格式。可以使用 logging.F<strong class="keylink">ORM</strong>atter
類別來建立自訂格式器,例如:
import logging # 创建一个自定义格式器 formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") # 设置格式器到处理器 for handler in logging.getLogger().handlers: handler.setFormatter(formatter)
4. 例外處理
#logging 模組可以方便地記錄異常:
import logging try: # 执行可能引发异常的代码 except Exception: # 记录异常 logging.exception("An error occurred")
5. 偵錯
#logging 模組還可以幫助偵錯:
logging.debug()
函數記錄偵錯訊息,例如:import logging # 记录调试信息 logging.debug("Current value of x: %d", x)
logging.getLogger(name).setLevel(level)
修改特定記錄器的級別,例如:import logging # 将 "my_module" 记录器的日志记录级别设置为 DEBUG logging.getLogger("my_module").setLevel(logging.DEBUG)
6. 最佳實踐
#使用 logging 模組的一些最佳實踐包括:
結論
Python logging 模組是一個強大的工具,可以幫助開發人員記錄事件、偵錯問題和追蹤異常。透過理解其概念和利用其功能,開發人員可以大幅增強其專案的日誌記錄功能。
以上是Python logging 模組指南:解決常見知識點問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!