接口自动化-日志封装


import logging
import logging.handlers as HD
from config.setting import *
import time

class MyLogger():

    def __init__(self):
        #实例化logging对象
        self.logger = logging.getLogger("api_autoTest")
        self.logger.handlers.clear()
        self.logger.setLevel(logging.INFO)
        # 日志内容输出格式设置
        fmt = '%(asctime)s  %(filename)s  %(funcName)s [line:%(lineno)d] %(levelname)s %(message)s'
        datefmt = '%a, %d %b %Y %H:%M:%S'
        format = logging.Formatter(fmt, datefmt)
        curTime = time.strftime("%Y-%m-%d", time.localtime())
        #输出日志到文件中,每次运行的日志放到同一日期中
        if not self.logger.handlers:
            fn = HD.TimedRotatingFileHandler(TEST_LOGS + "/Api_Autotest_log_{0}.log".format(curTime),backupCount=20,encoding="utf-8")#日志文件名命名
            fn.setFormatter(format)#格式化程序
            fn.setLevel(logging.INFO)#日志级别

            #输出日志到控制台
            hs = logging.StreamHandler()
            hs.setFormatter(format)
            hs.setLevel(logging.INFO)
            self.logger.addHandler(fn)
            self.logger.addHandler(hs)
            #关闭渠道
            # self.logger.removeHandler(handle_1)
            # self.logger.removeHandler(hs)

    #配置日志收集器 - 存在放哪个文件,
    #定义各种日志级别的方法,方便在其它文件中调用
    def info(self,msg):
        self.logger.info(msg)

    def debug(self,msg):
        self.logger.debug(msg)

    def error(self,msg):
        self.logger.error(msg)

    def warning(self,msg):
        self.logger.warning(msg)

    def critical(self,msg):
        self.logger.critical(msg)

    def exception(self,msg):
        self.logger.exception(msg)

        return self.logger


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
loggingPython内置的模块,它提供了一个灵活的日志记录系统。在接口自动化测试中,我们可以使用logging模块来输出测试日志,以便于调试和分析测试结果。下面是一个简单的logging封装调用示例: ```python import logging class Logger(object): def __init__(self, logger_name): self.logger = logging.getLogger(logger_name) self.logger.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) console_handler.setFormatter(formatter) file_handler = logging.FileHandler(filename='test.log') file_handler.setLevel(logging.DEBUG) file_handler.setFormatter(formatter) self.logger.addHandler(console_handler) self.logger.addHandler(file_handler) def get_logger(self): return self.logger ``` 在上面的代码中,我们定义了一个Logger类,它接受一个logger_name参数,并初始化一个logger对象。我们可以通过调用get_logger()方法来获取这个logger对象。 在初始化logger对象时,我们设置了logger的日志级别为DEBUG,这意味着logger会记录所有级别为DEBUG及以上的日志。我们还定义了两个handler,一个是console_handler,它将日志输出到控制台;另一个是file_handler,它将日志输出到文件中。我们设置了两个handler的日志级别都为DEBUG,并且使用了同一个formatter来格式化日志输出。 在接口自动化测试中,我们可以使用Logger类来记录测试日志。例如: ```python logger = Logger('test').get_logger() logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message') ``` 上面的代码会输出不同级别的日志信息,并分别输出到控制台和文件中。我们可以通过分析这些日志信息来诊断和调试测试问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值