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函数即可,然后在对应的日志文件下去查看日志

  • 相关阅读:
    Ajax返回xml类型数据
    选择排序 C&&C++
    php 给app写短信验证码 使用memcache缓存验证码
    php 免费的快递查询接口快递100
    CSS字体大小设置时的参考(转)
    excel vba 打印设置(转)
    MySQL的数据类型(转)
    XMind 8 pro update 7激活办法
    张小龙2011年饭否日记
    页面静态化技术Freemarker技术的介绍及使用实例.
  • 原文地址:https://www.cnblogs.com/LCboss/p/11775478.html
Copyright © 2011-2022 走看看