python自動化測試之日志輸出


一、日志定義:用於跟蹤運行軟件所發生事件的方法,可以通過日志“查詢信息”、“服務診斷”、“數據分析”

二、日志主要有如下5個等級:

第一級debug:調試信息

第二級info:描述重要事件

第三級warning:警告信息

第四級error:錯誤信息

第五級critical:危險信息

三、python是如何生成日志呢?python內置了logging模塊,可以生成日志,設置日志等級,日志路徑、日志文件滾動等,logging主要包括四大組件:

1、logger 日志器 提供了應用程序的接口

2、Handler 處理器 通過logger在不同位置輸出日志

3、Formatter 格式器 決定日志以什么樣式輸出日志

4、Filter 過濾器 過濾哪些需要記錄,哪些需要丟棄

 

示例:封裝生成日志方法

import logging from logging.handlers import RotatingFileHandler import os class GetLog: def log(self): # 日志文件生成的目錄:
        file_dir = os.getcwd() filename = (file_dir + "log.log") # 創建日志器
        logger = logging.getLogger() # 設置日志輸出最低等級, 低於當前等級就會忽略
 logger.setLevel(logging.INFO)      # 判斷處理器是否存在
        if not logger.handlers: # 創建處理器
            sh = logging.StreamHandler() # 生成日志文件
            # fh = logging.FileHandler(filename=filename, encoding="utf-8")
            # 設置滾動日志 1024*1024*3 最大3M 保留5個文件
            fh = RotatingFileHandler(filename, maxBytes=1024*1024, backupCount=5, encoding="utf-8") # 創建一個格式器
            formatter = logging.Formatter(fmt="%(asctime)s %(filename)s %(levelname)s %(message)s", datefmt="%Y/%m/%d/%X") # 設置文件日志級別, 等於或高於總開關的級別才能顯示
 fh.setLevel(logging.INFO) # 設置屏幕日志級別
 sh.setLevel(logging.ERROR) # 格式和日志對象綁定在一起
 sh.setFormatter(formatter) fh.setFormatter(formatter) # 添加日志
 logger.addHandler(sh) logger.addHandler(fh) return logger if __name__ == '__main__': for i in range(10): GetLog().log().info("測試日志信息")

 

輸出日志

def sum(a, b): try: total = a + b # 記錄描述
        GetLog().log().info("正確計算輸出{}+{}之和".format(a, b)) return total except Exception as e: GetLog().log().error("{}+{}之和計算錯誤{}".format(a, b, e)) if __name__ == '__main__': s1 = sum(2, "4") s2 = sum(1, 3) s3 = sum(2, 4)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM