一、日志相关

1、日志

概念:日志就是用于记录系统运行时的信息,对一个事件的记录,也称log

1.1 日志的作用
  • 调试程序
  • 了解系统程序运行的情况,是否正常
  • 系统程序运行故障分析与问题定位
  • 用来做用户行为分析和数据统计
1.2 日志级别

级别:指日志信息的优先级、重要性、严重程度

常见的日志级别

日志级别 描述
DEBUG 调试级别,打印非诚详细的日志信息,通畅用于对代码的调试
INFO 信息级别,打印一般的日志信息,突出强调程序的运行过程
WARNING 警告级别,打印警告日志信息,表明会出现潜在错误的情形,一般不影响软件的正常使用
ERROR 错误级别,打印错误异常信息,该级别的错误可能会导致系统的一些功能无法正常使用
CRITICAL 严重级别错误,一个严重的错误,这表明系统可能无法继续运行

说明

  • 上面列表中的日志级别是从上到下一次升高,即:DEBUG< INFO<WARNING<ERROR<CRITICAL
  • 当程序指定一个日志级别后,程序会记录所有日志级别大于或等于指定日志级别的日志信息,而不是仅仅记录指定级别的日志信息
  • 一般建议只使用前四个级别

2、logging模块

2.1 基本用法

import logging

loging.debug('这是一条调试信息')

logging.info('这是一条普通信息')

logging.warning('这是一条警告信息')

logging.error('这是一条错误信息')

logging.critical('这是一条严重错误信息')

2.2 设置日志级别
logging.basicConfig(logging.DEBUG)
2.3 设置日志格式

默认的日志的格式为:

日志级别:Logger名称:日志内容

自定义日志格式:

logging.basicConfig(format = "%(levelname)s : %(message)s")

2.4 将日志信息输出到文件中

默认情况下Python的logging模块将日志打印到了标准输出中(控制台)

将日志信息输出到文件中:

logging.basicConfig(filename='a.log')

3、日志的高级用法

3.1、logging 日志模块四大组件
组件名称 类名 功能描述
日志器 Logger 提供了程序使用日志的入口
处理器 Hander 将logger创建的日志记录发送到合适的目的输出
格式器 Formatter 决定日志记录的最终输出格式
过滤器 Filter 提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录
3.2、模块关系

日志器:提供了,记录日志的入口

处理器:政治将日志器内容发送到控制台或文件或网络,都是处理器干的;每个日志器都可以添加多个不同的处理器

格式器:处理器可以设置不同的格式,就需要使用格式器

过滤器:处理器需要过滤日志信息,就需要设置过滤器

3.3、Logger类

Logger对象任务:

  • 向程序暴露记录日志的方法
  • 基于日志级别或Filter对象觉得要对那些日志进行后续处理
  • 将日志消息传送给所有感兴趣的日志handles

如何创建Logger对象

logger = logging.getLogger()
logger = logging.getLogger("myLogger")

logging.getLogger()方法有一个可选参数name, 改参数表示将要返回的日志器的名称标识,如果不提供该参数,则返回root日志对象。若以相同的name参数值多次调用getLogger()方法,将会返回指向同一个logger对象的引用

Logger常用的方法

方法 描述
logger.debug() 、logger.info()、logger.warming()、logger.error()、logger.critical() 打印日志
logger.setLevel() 设置日志器将会处理的日志消息的最低严重级别
logger.addHandler() 为该logger对象添加一个handler对象
logger.addFilter() 为该logger对象添加一个filter对象

UI自动化学习笔记- 日志相关操作的更多相关文章

  1. UI自动化学习笔记- Selenium元素定位及元素操作

    一.元素定位 1. 如何进行元素定位? 元素定位就是通过元素的信息或元素层级结构来定位元素的 2.定位工具 浏览器开发者工具 3.元素定位方式 Selenium提供了八种定位元素方式 id name ...

  2. UI自动化学习笔记- Selenium一些特殊操作的处理

    一.特殊操作处理 1. 下拉选择框操作 1.1 如何操作下拉选择框 实现方式一 思路:先定位到要操作的option元素,然后执行点击操作 driver.find_element_by_css_sele ...

  3. UI自动化学习笔记- UnitTest单元测试框架详解

    一.UnitTest基本使用 1. UnitTest框架 1.1 什么是框架 说明: 框架英文单词frame 为解决一类事情的功能集合 1.2什么是UnitTest框架 概念:UnitTest是pyt ...

  4. UI自动化学习笔记- PO模型介绍和使用

    一.PO模型 1.PO介绍:page(页面) object(对象) 在自动化中,Selenium 自动化测试中有一个名字经常被提及 PageObject (思想与面向对象的特征相同),通常PO 模型可 ...

  5. jQuery学习笔记--JqGrid相关操作 方法列表(上)

    1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(json):$("#gridi ...

  6. UI自动化学习笔记- Selenium元素等待(强制等待、显示等待、隐式等待)

    一.元素等待 1. 元素等待 1.1 什么是元素等待 概念:在定位页面元素时如果未找到,会在指定时间内一直等待的过程 意思就是:等待指定元素已被加载出来之后,我们才去定位该元素,就不会出现定位失败的现 ...

  7. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  8. MySQL学习笔记-事务相关话题

    事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...

  9. Android自动化学习笔记:编写MonkeyRunner脚本的几种方式

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. NOIP模拟测试15「建造城市city(插板法)·轰炸·石头剪刀布」

    建造城市 题解 先思考一个简单问题 10个$toot$ 放进5间房屋,每个房屋至少有1个$toot$,方案数 思考:插板法,$10$个$toot$有$9$个缝隙,$5$间房屋转化为$4$个挡板,放在t ...

  2. NOIP模拟测试10「大佬·辣鸡·模板」

    大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容 ...

  3. WEB安全新玩法 [5] 防范水平越权之查看他人订单信息

    水平越权是指系统中的用户在未经授权的情况下,查看到另一个同级别用户所拥有的资源.水平越权会导致信息泄露,其产生原因是软件业务设计或编码上的缺陷.iFlow 业务安全加固平台可以缓解部分场景下的水平越权 ...

  4. Golang封装一个加锁的Map工具包

    Golang封装一个加锁的Map工具包 直接上代码了,用的是读写锁,代码如下: package utils import ( "sync" ) type BeeMap struct ...

  5. 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作

    目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...

  6. Python3中最常用的5种线程锁你会用吗

    前言 本章节将继续围绕threading模块讲解,基本上是纯理论偏多. 对于日常开发者来讲很少会使用到本章节的内容,但是对框架作者等是必备知识,同时也是高频的面试常见问题. 官方文档 线程安全 线程安 ...

  7. Linux 中的 AutoHotKey 键映射替代方案

    1. Windows 之 AutoHotKey 初次了解AutoHotKey,是在Win 下最爱效率神器:AutoHotKey | 晚晴幽草轩这篇博客中,博主有对AutoHotKey作详细介绍,这里不 ...

  8. unity的安装,配置,及问题

    下载unity 在官网下载unity unity有三个版本,个人版免费,pro和专业版收费. 个人版 在导出exe文件时不能去掉水印片头.其他版本可以. 地址[https://store.unity. ...

  9. 企业如何通过CRM系统使销售周期缩短

    企业为什么要缩短销售周期?因为这意味着可以节约更多开支,从而达到企业利润最大化.但是有不少企业尤其是B2B行业,销售周期都在三个月以上.通过调查发现,很多企业在客户信息和销售管道上缺乏管理和策略.Zo ...

  10. 对象池技术和通用实现GenericObjectPool

    对象池技术其实蛮常见的,比如线程池.数据库连接池 他们的特点是:对象创建代价较高.比较消耗资源.比较耗时: 比如 mysql数据库连接建立就要先建立 tcp三次握手.发送用户名/密码.进行身份校验.权 ...