首页 > 其他分享 >自动化框架——日志模块

自动化框架——日志模块

时间:2023-05-06 15:14:48浏览次数:28  
标签:输出 logging Handler 模块 自动化 日志 logger

日志模块的使用(python的logging模块)

一:简单使用    

学习原因:学习logging模块是为了更直观的调试代码,虽然有prin语句可以调试,但是在批量执行自动化用例时需要logging模块来调试。

如何简单使用:导入日志模块设置basicConfig就行,设置日志级别,日志格式,日志写入模式,日志文件名就可以简易使用,代码如下:

 

二:精通使用和理解专精

精通使用就需要去理解logging模块里面的所有组件

logging的4大组件:
    Loggers;日志记录器,
    Handlers:日志处理器,将日志输出在哪?控制台(streamHandler)/文件(fileHandler)
    filters:日志过滤器,用来过滤特定的日志记录
    Formats:日志格式器,用于控制日志输出的格式

四组件的关系图:

 四组件的使用流程:

  1):创建一个logger(日志记录器)对象;

  2):定义Handler(日志处理器),决定把日志发到什么位置,

      通常StreamHandler==》输出到控制台

        FileHandler====》输出到文件

  3):设置日志级别(level)和日志输出的格式Formatters(日志格式化器)

  4):把Handler添加到对应的logger对象中;

代码如下(其中文件处理器的日志也打印响应的内容,这里不放截图):

三:日志模块的二次封装

实际工作中,我们需要对日志模块进行二次封装,可以更方便使用。

封装流程:

  1):定义一个自己的日志类。将日志记录器放置在初始化方法;

  2):定义Handler(日志处理器)方法,决定把日志发到什么位置,

      通常StreamHandler==》输出到控制台

        FileHandler====》输出到文件

  3):定义日志输出的格式Formatters(日志格式化器)方法;

  4):定义get_logger方法,把Handler添加到对应的logger对象中;

代码如下:

 

标签:输出,logging,Handler,模块,自动化,日志,logger
From: https://www.cnblogs.com/lwcx/p/17377053.html

相关文章

  • spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eu
    一、新建一个父级gradl模块1.在桌面或新建文件里面,右键,打开IDEA选择Flie>NEW>Module选择Gradle,选择ModuleSDK1.8,选择Java创建完成后,idea中会多出一个项目,如下图示例然后直接关闭当前idea,进入刚才创建好的文件下,再次打开项目可以直接删除src目录二、新建子级gradl模......
  • pytest之 为什么要做接口自动化
    行情:会接口自动化15-25k工具类实现接口自动化:增加2-3kPostman+newman+git+jenkinsJmeter+Ant+jenkins 一,既然有这些接口测试工具,为什么要做接口自动化?1.敏捷开发,接口一般数量很大,团队需要实现接口测试,多人协作写用例还需要“版本控制”2.功能太死板,有些接口完全无法实现......
  • 使用Node.js调用Sqlite3模块写的大数据查询接口
    使用Node.js调用Sqlite3模块写的大数据查询接口constsqlite3=require('sqlite3');consthttp=require('http');consturl=require('url');constSqliteDb=async(dbFile)=>{constpri={};pri.db=newsqlite3.Database(dbFile);......
  • SLS日志查询遇到的一些问题
    SLS日志查询遇到的一些问题根据执行时间查询结果不准确的问题原因:索引类型造成的;解决:进入索引设置,改为double即可;注意,只对更改后的日志生效,之前的旧日志不生效;一些常用查询语句查询执行时间大于5秒的*and__topic__:访问记录日志andoperation_hours>5查询平均执行时......
  • filebeat+kafka_logstash+es进行日志分析
    filebeat+kafka_logstash+es进行日志分析目录一.将安装包上传至目标服务器(即日志所在的服务器)二.解压安装三.配置filebeat1.配置采集日志到logstash,这种配置适用于日志量较小的场景,Filebeat--->logstash,logstash直接解析filebeat2.配置采集日志至kafka,file......
  • 统一controller的日志记录
    定义切面,然后匹配controller,around进行log打印@Slf4j@Component@AspectpublicclassControllerLogAspect{@Pointcut("execution(*delta.main.controller..*(..))")publicvoidrequestServer(){}@SneakyThrows@Around("requestServer(......
  • (原创第一篇,踩坑无数得来的,对Ai自动化测试框架很有帮助)appium自动化测试时遇到不能使用
     现在开发的前端界面使用vue或者更牛逼技术,导致使用appium或者uiautomator2做自动化测试时不能识别到元素,无法使用传统的id,name或者xpath,这时我们需要使用坐标点击文本框。有获取坐标方法,下期写一篇文章,可以在评论区提醒瑞克。fromappiumimportwebdriverimporttimeimport......
  • drone自动化工具和gitee使用遇到404问题
    如果部署完成后,点击某个仓库显示404.Wearesorry,theresourceyourequestedcannotbefound. 那么请检查gitee的仓库名称和路径是否完全一致,包括大小写!......
  • K8S:4种鉴权模块不知道怎么选?看看这篇你就懂了。
    鉴权模块在K8S中,鉴权模块有4种,分别是:Node、ABAC、RBAC、Webhook。功能分别如下:Node:验证节点的身份以确保其具有所需的权限来加入集群。ABAC:基于用户的属性(如用户名或组名)来控制其对集群资源的访问权限。RBAC:基于角色的权限来控制用户对集群资源的访问权限。Webhook:允许管理......
  • SpringBoot配置mongodb打印日志
    在application.yml添加配置:logging:level:org.springframework.data.mongodb.core.MongoTemplate:DEBUG如果使用的是application.properties,则是:logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG......