1. 程式人生 > >python - 介面自動化測試 - GetLog - 日誌類封裝

python - 介面自動化測試 - GetLog - 日誌類封裝

# -*- coding:utf-8 -*-

'''
@project: ApiAutoTest
@author: Jimmy
@file: get_logger.py
@ide: PyCharm Community Edition
@time: 2018-12-29 14:41
@blog: https://www.cnblogs.com/gotesting/

'''

import logging
import time

class GetLog:

    def __init__(self):
        curTime = time.strftime('%Y-%m-%d')
        self.logname 
= 'Reports/Log/' + 'AutoTest' + '_' + curTime + '.log' def get_log(self,level,msg): # 建立日誌收集器 logger = logging.getLogger() logger.setLevel('DEBUG') # 建立handler fh = logging.FileHandler(self.logname,'a',encoding='gbk') fh.setLevel('INFO') ch
= logging.StreamHandler() ch.setLevel('INFO') # 定義handler的輸出格式 formatter = logging.Formatter('%(asctime)s - %(filename)s - %(name)s - %(levelname)s - 日誌資訊: %(message)s') ch.setFormatter(formatter) fh.setFormatter(formatter) # 給logger新增handler logger.addHandler(fh) logger.addHandler(ch)
if level == 'DEBUG': logger.debug(msg) elif level == 'INFO': logger.info(msg) elif level == 'WARNING': logger.warning(msg) elif level == 'ERROR': logger.error(msg) elif level == 'CRITICAL': logger.critical(msg) logger.removeHandler(fh) logger.removeHandler(ch) fh.close() def log_debug(self,msg): self.get_log('DEBUG',msg) def log_info(self,msg): self.get_log('INFO',msg) def log_warning(self,msg): self.get_log('WARNING',msg) def log_error(self,msg): self.get_log('ERROR',msg) def log_critical(self,msg): self.get_log('CRITICAL',msg)