• Python3+requests+unittest+log+excel+HTMLTestRunner+email框架接口自动化案例⑹——日志打印


    一、日志打印方法

    日志打印方法是封装logging模块,可以使用不同等级的log打印想要的内容,代码如下:

    log.py

    # _*_ coding:utf-8 _*_
    import  logging, os,time
    from  Common import getPathInfo
    from logging.handlers import TimedRotatingFileHandler
    now=time.strftime("%Y%m%d%H%M%S")
    
    class Logger(object):
        def __init__(self):
            self.resultPath = os.path.join(getPathInfo.get_Path(), 'Logs')  #存放log文件的路径
            if not os.path.exists(self.resultPath):                         #判断Logs路径是否存在
                os.mkdir(self.resultPath)                                   #创建Logs文件
            self.logger = logging.getLogger()
            logging.root.setLevel(logging.NOTSET)
            self.backup_count = 5                                           #最多存放日志的数量
    
            # 日志输出级别
            self.console_output_level = 'WARNING'
            self.file_output_level = 'DEBUG'
    
            # 日志输出格式
            self.formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    
        def get_logger(self,logfile_name=now):
            """在logger中添加日志句柄并返回,如果logger已有句柄,则直接返回"""
            if not self.logger.handlers:                                    #避免重复日志
                console_handler = logging.StreamHandler()
                console_handler.setFormatter(self.formatter)
                console_handler.setLevel(self.console_output_level)
                self.logger.addHandler(console_handler)
                # 每天重新创建一个日志文件,最多保留backup_count份
                file_handler = TimedRotatingFileHandler(filename=os.path.join(self.resultPath, logfile_name+'.log'), when='D',
                                                        interval=1, backupCount=self.backup_count, delay=True,
                                                        encoding='utf-8')
                file_handler.setFormatter(self.formatter)
                file_handler.setLevel(self.file_output_level)
                self.logger.addHandler(file_handler)
            return self.logger
    
    logger = Logger().get_logger()
     
    —————————————————————————————— 选择正确的事、再把事做正确 ——————————————————————————————
  • 相关阅读:
    sql 拼写
    五、URL Routing介绍
    六、防止JavaScript注入攻击
    七、创建自定义的HTML Helper
    二、理解Models,Views,Controllers
    一、使用ASP.NET MVC创建应用程序
    自己写的临时表应用
    四、理解视图层,视图数据和HTML辅助
    三、理解控制器、控制器动作和ActionResults
    Extensions (扩展)方法
  • 原文地址:https://www.cnblogs.com/airb/p/13323658.html
Copyright © 2020-2023  润新知