python 自动化测试(4):日志类封装

一、前言

本篇日志封装比较简单,符合简单的代码运行时记录。使用python自带logging库进行封装。
主要包含指定保存日志的文件路径,日志级别,以及调用文件将日志存入到指定的文件中。

二、源码

import logging
import os.path
import time


class Logger(object):
    def __init__(self, logger):
        """
            指定保存日志的文件路径,日志级别,以及调用文件
            将日志存入到指定的文件中
        """
        # 创建一个logger
        self.logger = logging.getLogger(logger)
        self.logger.setLevel(logging.DEBUG)

        # 创建一个handler,用于写入日志文件
        rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
        log_path = os.path.dirname(os.getcwd()) + '/logs/'
        log_name = log_path + rq + '.log'
        fh = logging.FileHandler(log_name, encoding="utf-8")
        fh.setLevel(logging.INFO)

        # 再创建一个handler,用于输出到控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)

        # 定义handler的输出格式
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 给logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger
        
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值