接口自动化--日志类封装(logging)

上篇随笔已经写到了读取Excel类的封装了,下面就写下日志类,

日志类在我们自动化的过程中是十分重要的,在我们的自动化程序出现异常的时候就可以打印日志

下面是我自己封装的日志类

import logging
import os
import time

from common.path_dir import Path


class MyLogger(logging.Logger):
    def __init__(self,
                 name,
                 hander_lever="DEBUG",
                 level="DEBUG",
                 file_name=None,
                 fmt="%(asctime)s--%(levelname)s--%(filename)s--%(lineno)d--%(message)s"):
        super().__init__(name, level=level)
        # 判断是否传递存储log的文件,初始化处理器(hander)
        if file_name is not None:
            hander = logging.FileHandler(file_name, encoding="utf-8")
        else:
            hander = logging.StreamHandler()
        # 添加hander
        self.addHandler(hander)
        # 设置处理器级别
        hander.setLevel(hander_lever)
        # 设置fmt的格式:日志的显示样式
        file_fmt = logging.Formatter(fmt)
        hander.setFormatter(file_fmt)


file_path = os.path.join(Path.LOG_PATH, "{}_log.txt".format(time.strftime("%Y-%m-%d-%H-%M-%S")))
logger = MyLogger(name="Lc", file_name=file_path)
if __name__ == '__main__':
   logger.error("heello")

 日志封装主要有以下几个内容:

1、日志收集器

2、日志收集器级别

3、日志处理器的准备

4、日志处理器的几倍设置

5、设置日志显示的格式

6、添加日志处理器

可以自己调试下,调试过程如下:

直接运行这个main函数即可,然后在对应的日志文件下去查看日志

原文地址:https://www.cnblogs.com/LCboss/p/11775478.html