UI自動化學習筆記- 日誌相關操作
- 2021 年 8 月 4 日
- 筆記
- 測試基礎必備技能 - Selenium測試框架
一、日誌相關
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對象 |