接口自动化--日志类封装(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函数即可,然后在对应的日志文件下去查看日志

接口自动化--日志类封装(logging)的更多相关文章
- muduo网络库源码学习————日志类封装
muduo库里面的日志使方法如下 这里定义了一个宏 #define LOG_INFO if (muduo::Logger::logLevel() <= muduo::Logger::INFO) ...
- 接口自动化--requests库封装
前言 不管是自动化大佬还是自动化小白,都知道我们用python写接口自动化测试肯定是要用requests库来封装请求类的,下面就简单介绍下requests这个库 安装 一般都是直接采用pip命令安装: ...
- python - 接口自动化测试 - GetLog - 日志类封装
# -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: get_logger.py @ide: PyCharm C ...
- python 以单例模式封装logging相关api实现日志打印类
python 以单例模式封装logging相关api实现日志打印类 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7 实现功能: 支持自由配置,如下lo ...
- 【python接口自动化】- logging日志模块
前言:我们之前运行代码时都是将日志直接输出到控制台,而实际项目中常常需要把日志存储到文件,便于查阅,如运行时间.描述信息以及错误或者异常发生时候的特定上下文信息. logging模块介绍 Pyth ...
- python+pytest接口自动化(11)-测试函数、测试类/测试方法的封装
前言 在python+pytest 接口自动化系列中,我们之前的文章基本都没有将代码进行封装,但实际编写自动化测试脚本中,我们都需要将测试代码进行封装,才能被测试框架识别执行. 例如单个接口的请求代码 ...
- python+pytest接口自动化(16)-接口自动化项目中日志的使用 (使用loguru模块)
通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用.在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题. 这篇文章我们使 ...
- python接口自动化(三十九)- logger 日志 - 上(超详解)
简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP, ...
- python3 配置logging日志类
配置类config_file: from configparser import ConfigParser class config_file: def __init__(self,conf_file ...
随机推荐
- 文本编辑 工具vim
一vim的3种常用模式:一般模式.编辑模式和命令模式 如果系统里没有vim工具,需安装 1,一般模式 首先复制一个文件到/tmp/目录下,并改名为1,txt 移动光标: h 或 向左箭头键(←) ...
- odoo 币别符号显示机制 Monetary
//-------------------------------------------------------------------basic_fields.js init: function ...
- 详解redis持久化
我们的Redis必须使用数据持久化吗?如果我们的Redis服务器只作为缓存使用,Redis中存储的所有数据都是从其他地方同步过来的备份,那么就没必要开启数据持久化的选项.Redis提供了将数据定期自动 ...
- MODBUS 数据格式相关记录
串口通讯格式: 串口通讯可以分为同步通讯(Synchronous)和异步通讯(Asynchronous).同步通讯时有一根时钟信号,数据格式中没有起始位和停止位:异步通讯中没有时钟信号,数据格式中包含 ...
- 在 Docker 中运行 SpringBoot 应用
创建 SpringBoot 项目 用 Idea 创建一个 SpringBoot 项目,编写一个接口: package cloud.dockerdemo import org.springframewo ...
- Java之利用Freemarker模板引擎实现代码生成器,提高效率
https://blog.csdn.net/huangwenyi1010/article/details/71249258 java模板引擎freemarker代码生成器 更多 个人分类: 一步一步 ...
- CXF 教程(一)
CXF Web Service 简单示例 1 准备工作 2 第一个例子 3 客户端 3.1 使用 WSDL 生成客户端 4 RPC 风格 5 相关命令介绍 5.1 Java to WS 1 准备工作 ...
- mongodb数据库怎么迁移备份?
1.先进入到mongodb目录的bin目录下,Linux windos是一样 image.png 2.集合备份和恢复 使用mongo自带命令来迁移数据,思路是先导出集合数据再导入到数据库中 导出命 ...
- drf序列化与反序列化
序列化器-Serializer 定义序列化器 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serial ...
- 详解js中的this指向
this指向问题是个老生常谈的问题了,现在我给大家一个例子 var obj={ bar:'Cynthia' , foo:function(){ console.log(this.bar,"w ...