Python的logging模块提供了通用的日志系统,这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现方式记录日志。

logging模块包括logger,Handler,Filter,Formatter四个部分。

  Logger 记录器,用于设置日志采集。

  Handler 处理器,将日志记录发送至合适的路径。

  Filter 过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。

  Formatter 格式化器,指明了最终输出中日志的格式。

日志格式:

日志格式化是为了提高日志的可阅读性,比如:时间+模块+行数+日志具体信息 的内容格式。如果日志信息杂乱无章的全部输出来,这样也不利于定位问题。如下所示就是日志格式化输出,非常便于阅读查看。

2019-09-10 11:18:46,531 - test_suit01_denglu.py[line20] - INFO - Log
2019-09-10 11:18:49,360 - web_func.py[line34] - INFO - 启动浏览器
2019-09-10 11:18:52,566 - web_func.py[line114] - INFO - 等待时长: 10S
2019-09-10 11:18:52,567 - web_func.py[line46] - INFO - 打开地址: http://fwspre.cnzhonglunnet.com/ui/login.html#/
2019-09-10 11:18:52,633 - web_func.py[line67] - INFO - 点击元素: ('xpath', "//div[@id='root']/div/div[2]/form/div/div/div/div/div/div/div/div[2]")
2019-09-10 11:18:53,276 - web_func.py[line77] - INFO - 在('xpath', ".//*[@id='serverid']/span/input")位置输入文本:900005
2019-09-10 11:18:54,370 - web_func.py[line77] - INFO - 在('xpath', ".//*[@id='username']/span/input")位置输入文本:1001
2019-09-10 11:18:54,479 - web_func.py[line77] - INFO - 在('xpath', ".//*[@id='password2']/span/input")位置输入文本:111111
2019-09-10 11:18:54,554 - web_func.py[line67] - INFO - 点击元素: ('xpath', "//button[@type='submit']")
2019-09-10 11:18:58,666 - web_func.py[line84] - INFO - 退出浏览器

使用Formatter对象设置日志信息最后的规则、结构和内容,默认的时间格式为%Y-%m-%d %H:%M:%S。

    格式                       描述
%(levelno)s 打印日志级别的数值
%(levelname)s   打印日志级别名称
%(pathname)s   打印当前执行程序的路径
%(filename)s   打印当前执行程序名称
%(funcName)s   打印日志的当前函数
%(lineno)d 打印日志的当前行号
%(asctime)s    打印日志的时间
%(thread)d    打印线程id
%(threadName)s 打印线程名称
%(process)d    打印进程ID
%(message)s    打印日志信息

使用方法:

formatter = logging.Formatter('%(asctime)s - %(filename)s[line%(lineno)d] - %(levelname)s - %(message)s')

输出结果即是上面格式的日志。

python 收集测试日志--格式的更多相关文章

  1. python进行mp3格式判断

    python进行mp3格式判断 项目中使用mp3格式进行音效播放,遇到一个mp3文件在程序中死活播不出声音,最后发现它是wav格式的文件,却以mp3结尾.要对资源进行mp3格式判断,那么如何判断呢,用 ...

  2. python编程语言缩进格式

    python的缩进格式是python语法中最特别的一点,很多已经习惯了其他语言的朋友再去学python的话,开始会觉的不太 习惯. 怎么看怎么都觉的别扭,也有一些朋友因为这个特别的格式与python失 ...

  3. python打印表格式数据,留出正确的空格和段落星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

  4. 分别用Excel和python进行日期格式转换成时间戳格式

    最近在处理一份驾驶行为方面的数据,其中要用到时间戳,因此就在此与大家一同分享学习一下. 1.什么是时间戳? 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01 ...

  5. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  6. 使用Python发送HTML格式的邮件(收到的邮件有发送方才是正解)

    发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"p ...

  7. (数据科学学习手札65)利用Python实现Shp格式向GeoJSON的转换

    一.简介 Shp格式是GIS中非常重要的数据格式,主要在Arcgis中使用,但在进行很多基于网页的空间数据可视化时,通常只接受GeoJSON格式的数据,众所周知JSON(JavaScript Obje ...

  8. python打印表格式数据-星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

  9. Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式

    Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...

随机推荐

  1. 初步学习JS中的闭包

    JS高级程序设计(3rd)中对闭包的定义就是一句话,首先闭包是一个函数,怎样的函数呢?有权访问另一个函数作用域中的变量 的函数.而创建闭包的常见方式就是在一个函数的内部创建另一个函数,就是嵌套函数. ...

  2. html基础与表格的理解·

    1.静态网页与动态网页的区别:是否访问数据库 2.超文本:超文本是指超出文本的范围,可以插入声音视频,表格图片等 3.标记语言与网页结构:标记语言就是标签,网页结构包含<html>< ...

  3. zookeeper分布式锁用法

    package com.example.demo3.zk; import lombok.extern.slf4j.Slf4j; import org.apache.storm.shade.org.ap ...

  4. Oracle建库常用命令

    Windows:用户 create temporary tablespace SP_MINES_TMP tempfile 'E:\Oracle\oradata\orcl\SP_MINES_TMP.db ...

  5. JavaScript.Remove

    Array.prototype.remove = function (from, to) {     var rest = this.slice((to || from) + 1 || this.le ...

  6. Java数组模拟栈

    一.概述 注意:模拟战还可以用链表 二.代码 public class ArrayStack { @Test public void test() { Stack s = new Stack(5); ...

  7. Linux系统配置Java开发基本环境

    jdk安装一.用yum安装jdk1.查看yum库都有哪些jdk版本yum search java|grep jdk2.选择版本安装yum install java-1.8.0-openjdk(/usr ...

  8. [fw]linux测试工程介绍(Linux Test Project)

    http://ltp.sourceforge.net/ Linux Test Project, 后台很硬,由SGI™ 发起, IBM维护,所以质量有保障. 里面介绍了很多工具,对于一般的基准测试应该是 ...

  9. Servlet+AJAX实现的模拟电梯调度

    需求产生: 大三下学期天天在学校的同一栋教学楼上课,每天要等四次电梯,有次等电梯无聊了,就想到电梯的运行逻辑该如何用程序来表达呢? 问题描述: 大学的那栋楼有21层,不过在页面中画21层有点密,所以只 ...

  10. python学习二十四天函数参数之默认参数

    函数参数就是向函数传递参数,可以传递一个,可以是更多个,有的参数有值,有的没有,函数可以设置默认参数,默认参数必须放参数最后面. 1,不传递参数,设置默认参数 def hello(a,b,c='123 ...