【python自动化测试之日志模块】logging使用

这段时间一直忙项目,今天周末抽空写了个日志模块使用
import logging
import os
import datetime


class UserLog(object):
    def __init__(self):
        # 创建日志对象
        self.logger = logging.getLogger()
        # 设置日志级别
        self.logger.setLevel(logging.DEBUG)

        # 创建流对象 # 控制台输出日志
        # console = logging.StreamHandler()
        # self.logger.addHandler(console)
        # self.logger.debug("info")

        # 文件名字
        file_path = os.path.abspath(__file__) # 文件路径
        base_dir = os.path.dirname(os.path.abspath(__file__)) # 文件所在目录路径
        # 日志路径
        log_dir = os.path.join(base_dir, "logs")
        # 时间
        log_file = datetime.datetime.now().strftime("%y-%m-%d"+".log")
        # 日志文件名称
        log_name = log_dir+"/"+"log_name"+log_file
        print(log_name)


        # 文件输出日志 入参传日志文件即可
        self.file_handle = logging.FileHandler(log_name, 'a', encoding='utf-8')
        # 设置日志格式
        formatter = logging.Formatter('%(asctime)s >>>>>>filename>>>>>: %(filename)s >>>>>modle>>>>>: %(funcName)s >>>>line>>>: %(levelno)s  >>>>loglevel>>>%(levelname)s >>>>>msg>>>> %(message)s ')
        self.file_handle.setFormatter(formatter)
        self.logger.addHandler(self.file_handle)

        # self.logger.debug("test1235555")
        # # 关闭console 和 logger
        # self.file_handle.close()
        # self.logger.removeHandler(self.file_handle)

    def get_log(self):
        return self.logger
        # 关闭console 和 logger

    def close_handle(self):
        self.logger.removeHandler(self.file_handle)
        self.file_handle.close()


if __name__ == '__main__':
    user = UserLog()
    log = user.get_log()
    log.debug("testdebug")
    user.close_handle()

 

from selenium import webdriver
import time
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import  WebDriverWait
from log.user_log import UserLog

调用

 

日志效果:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值