python 自動化測試(4):日誌類封裝

一、前言

本篇日誌封裝比較簡單,符合簡單的代碼運行時記錄。使用python自帶logging庫進行封裝。
主要包含指定保存日誌的文件路徑,日誌級別,以及調用文件將日誌存入到指定的文件中。

二、源碼

import logging
import os.path
import time


class Logger(object):
    def __init__(self, logger):
        """
            指定保存日誌的文件路徑,日誌級別,以及調用文件
            將日誌存入到指定的文件中
        """
        # 創建一個logger
        self.logger = logging.getLogger(logger)
        self.logger.setLevel(logging.DEBUG)

        # 創建一個handler,用於寫入日誌文件
        rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
        log_path = os.path.dirname(os.getcwd()) + '/logs/'
        log_name = log_path + rq + '.log'
        fh = logging.FileHandler(log_name, encoding="utf-8")
        fh.setLevel(logging.INFO)

        # 再創建一個handler,用於輸出到控制檯
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)

        # 定義handler的輸出格式
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 給logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger
        
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章