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

一、日誌相關

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對象