python 自动化测试(4):日志类封装

时间:2022-07-24
本文章向大家介绍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