Python日志处理详解

Posted HQYJ_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python日志处理详解相关的知识,希望对你有一定的参考价值。

在自动化测试中,可以自己根据项目的要求,自定义日志字段,也可以使用python中logging模块定义日志。

主要使用日志的作用也可以分为三部分:程序调试、了解软件程序运行情况、软件程序运行故障分析与问题定位,我们自动化测试中引入日志也是同样的道理。
一、 自定义日志模块

可以根据具体情况自定义日志中的字段,比如时间、文件、测试用例名称,测试用例名称,预期结果,实际结果等信息。在测试用例中需要写日志的地方调用该方法写入相应的数据即可。

1. 创建python环境下的自定义日志模块

自定义日志模块,在功能上虽然不如专业的模块好,但是可以方便自定义输出,在我们自动化测试工作中也可以尝试使用。



2. 在需要输出日志位置,导入创建的日志模块,并调用方法
3. 查看日志文件内容

二、logging日志模块

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等,相比print()直接打印在控制台,具备如下优点:

可以通过设置不同的日志等级

可以只输出重要信息,而不必显示大量的调试信息

logging则可以由开发者决定将信息输出到什么地方,以及怎么输出。

1. 封装logging日志模块

封装基础logging模块函数,在自动化脚本中调用即可,可以定义为类或方法,便于调用使用即可



2. 在测试用例需要输出日志的位置,调用该方法记录日志。

3、解决日志中的中文乱码问题

在Python安装目录的/lib/logging/下,修改__init__.py模块的如下代码,将encoding的默认值改为utf-8即可。

4. 配置logging的几种方式

1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数;

2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容;

3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数;

5. 向日志输出中添加上下文信息

除了传递给日志记录函数的参数外,有时候我们还想在日志输出中包含一些额外的上下文信息。比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名。这里我们来介绍以下几种实现方式:

· 通过向日志记录函数传递一个extra参数引入上下文信息

· 使用LoggerAdapters引入上下文信息

· 使用Filters引入上下文信息

免费编程资料: 学习交流群:399932895
快速学习python基础

Python网络编程

Python爬虫开发

Python全能职业课

django项目案例精讲

Python数据库编程

Python开发支付系统

云计算 大数据和人工智能

以上是关于Python日志处理详解的主要内容,如果未能解决你的问题,请参考以下文章

Python-logging详解(彩色日志扩展,多进程安全等)

python接口自动化(四十)- logger 日志 - 下(超详解)

python接口自动化(四十)- logger 日志 - 下(超详解)

Django logging日志模块详解(日志记录模板配置)

Spark核心编程进阶-yarn模式下日志查看详解

Python自动化测试之异常处理机制实例详解