zoukankan      html  css  js  c++  java
  • 接口自动化--日志类封装(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函数即可,然后在对应的日志文件下去查看日志

  • 相关阅读:
    水洼,八连杀
    友链
    万能转换字符类型到int ,int到string,string到char or char *等等
    蓝桥杯模拟赛题
    2020 03 21
    2019 12 02 reading
    CentOS 7 定时计划任务设置
    xinted &telnet
    2019 12 02 section C one
    【暖*墟】#洛谷网课1.30# 树上问题
  • 原文地址:https://www.cnblogs.com/LCboss/p/11775478.html
Copyright © 2011-2022 走看看