UI自動化學習筆記- 日誌相關操作

本該是你發表於2021-08-04

一、日誌相關

1、日誌

概念:日誌就是用於記錄系統執行時的資訊,對一個事件的記錄,也稱log

1.1 日誌的作用
  • 除錯程式
  • 瞭解系統程式執行的情況,是否正常
  • 系統程式執行故障分析與問題定位
  • 用來做使用者行為分析和資料統計
1.2 日誌級別

級別:指日誌資訊的優先順序、重要性、嚴重程度

常見的日誌級別

日誌級別 描述
DEBUG 除錯級別,列印非誠詳細的日誌資訊,通暢用於對程式碼的除錯
INFO 資訊級別,列印一般的日誌資訊,突出強調程式的執行過程
WARNING 警告級別,列印警告日誌資訊,表明會出現潛在錯誤的情形,一般不影響軟體的正常使用
ERROR 錯誤級別,列印錯誤異常資訊,該級別的錯誤可能會導致系統的一些功能無法正常使用
CRITICAL 嚴重級別錯誤,一個嚴重的錯誤,這表明系統可能無法繼續執行

說明

  • 上面列表中的日誌級別是從上到下一次升高,即:DEBUG< INFO<WARNING<ERROR<CRITICAL
  • 當程式指定一個日誌級別後,程式會記錄所有日誌級別大於或等於指定日誌級別的日誌資訊,而不是僅僅記錄指定級別的日誌資訊
  • 一般建議只使用前四個級別

2、logging模組

2.1 基本用法

import logging

loging.debug('這是一條除錯資訊')

logging.info('這是一條普通訊息')

logging.warning('這是一條警告資訊')

logging.error('這是一條錯誤資訊')

logging.critical('這是一條嚴重錯誤資訊')

2.2 設定日誌級別
logging.basicConfig(logging.DEBUG)
2.3 設定日誌格式

預設的日誌的格式為:

日誌級別:Logger名稱:日誌內容

自定義日誌格式:

logging.basicConfig(format = "%(levelname)s : %(message)s")

2.4 將日誌資訊輸出到檔案中

預設情況下Python的logging模組將日誌列印到了標準輸出中(控制檯)

將日誌資訊輸出到檔案中:

logging.basicConfig(filename='a.log')

3、日誌的高階用法

3.1、logging 日誌模組四大元件
元件名稱 類名 功能描述
日誌器 Logger 提供了程式使用日誌的入口
處理器 Hander 將logger建立的日誌記錄傳送到合適的目的輸出
格式器 Formatter 決定日誌記錄的最終輸出格式
過濾器 Filter 提供了更細粒度的控制工具來決定輸出哪條日誌記錄,丟棄哪條日誌記錄
3.2、模組關係

日誌器:提供了,記錄日誌的入口

處理器:政治將日誌器內容傳送到控制檯或檔案或網路,都是處理器乾的;每個日誌器都可以新增多個不同的處理器

格式器:處理器可以設定不同的格式,就需要使用格式器

過濾器:處理器需要過濾日誌資訊,就需要設定過濾器

3.3、Logger類

Logger物件任務:

  • 向程式暴露記錄日誌的方法
  • 基於日誌級別或Filter物件覺得要對那些日誌進行後續處理
  • 將日誌訊息傳送給所有感興趣的日誌handles

如何建立Logger物件

logger = logging.getLogger()
logger = logging.getLogger("myLogger")

logging.getLogger()方法有一個可選引數name, 改參數列示將要返回的日誌器的名稱標識,如果不提供該引數,則返回root日誌物件。若以相同的name引數值多次呼叫getLogger()方法,將會返回指向同一個logger物件的引用

Logger常用的方法

方法 描述
logger.debug() 、logger.info()、logger.warming()、logger.error()、logger.critical() 列印日誌
logger.setLevel() 設定日誌器將會處理的日誌訊息的最低嚴重級別
logger.addHandler() 為該logger物件新增一個handler物件
logger.addFilter() 為該logger物件新增一個filter物件

相關文章