【Python】logging模块学习笔记

摘要:
因为在接口自动化测试期间代码逻辑存在问题,而且我们不知道具体问题在哪里,所以我们需要在模块化代码之前学习python日志模块日志记录。条目1和条目2的日志级别大小关系为“关键”˃“错误”˃“警告”˃“信息”˃“调试”˃“NOTSET”。您还可以自己定义级别*Handler:将日志记录发送到适当的目标,例如文件和套接字。记录器对象可以通过addHandler方法将0添加到多个处理程序中,每个处理程序可以定义不同的日志级别,以实现日志的分层过滤和显示。

因为做接口自动化测试遇到的一个代码逻辑上的问题,又不知道具体问题出在哪里,所以在模块化代码之前,先学习下python的日志模块logging。

入门1

入门2

日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,也可以自己定义级别。

* handler:将日志记录(log record)发送到合适的目的地(destination),比如文件,socket等。一个logger对象可以通过addHandler方法添加0到多个handler,每个handler又可以定义不同日志级别,以实现日志分级过滤显示。

logging自带的几种handler:logging.StreamHandler: 日志输出到流,可以是sys.stderr、sys.stdout或者文件

logging.FileHandler: 日志输出到文件
日志回滚方式,实际使用时用RotatingFileHandler和TimedRotatingFileHandler
logging.handlers.BaseRotatingHandler
logging.handlers.RotatingFileHandler
logging.handlers.TimedRotatingFileHandler
logging.handlers.SocketHandler: 远程输出日志到TCP/IP sockets
logging.handlers.DatagramHandler:  远程输出日志到UDP sockets
logging.handlers.SMTPHandler:  远程输出日志到邮件地址
logging.handlers.SysLogHandler: 日志输出到syslog
logging.handlers.NTEventLogHandler: 远程输出日志到Windows NT/2000/XP的事件日志
logging.handlers.MemoryHandler: 日志输出到内存中的制定buffer
logging.handlers.HTTPHandler: 通过"GET"或"POST"远程输出到HTTP服务器

*回滚日志就是一直写日志到同一个log文件(自己设置大小),普通的写日记是生成新的一个(同名字的话就覆盖掉了)

  真的是要整死了:http://wjdadi-gmail-com.iteye.com/blog/1984354

免责声明:文章转载自《【Python】logging模块学习笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇标准控件的使用技巧与自绘控件PHP代码审计笔记--CSRF漏洞下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

安卓中的线程

 1. Android进程    在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现...

Handler 机制(一)—— Handler的实现流程

   由于Android采用的是单线程模式,开发者无法在子线程中更新 UI,所以系统给我提供了 Handler 这个类来实现 UI 更新问题。本贴主要说明 Handler 的工作流程。 1. Handler 的作用 在Android为了保障线程安全,规定只能由主线程来更新UI信息。而在实际开发中,会经常遇到多个子线程都去操作UI信息的情况,那么就会导致U...

MySQL定义异常和异常处理方法

在MySQL中。特定异常须要特定处理。这些异常可以联系到错误,以及子程序中的一般流程控制。定义异常是事先定义程序运行过程中遇到的问题,异常处理定义了在遇到问题时相应当採取的处理方式。而且保证存储过程或者函数在遇到错误时或者警告时可以继续运行。 1 异常定义1.1 语法 DECLARE condition_name CONDITION FOR [condi...

java之拦截器Interceptor

1,拦截器的概念java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截然后再之前或者之后加入某些操作。目前,我们需要掌握的主要...

android 在子线程中使用handler更新界面

1. 在子线程中创建一个handler对象,让这个handler对象获取主线程的looper,这样才能把这个handler中的消息发送到ui线程的消息队列中 下面这个界面当点击updateui按钮就会创建一个对象然后调用它的更新图片和文字的方法,这两个设置方法在子线程中执行。 在更新界面的对象的类中创建一个handler对象,在初始化的时候给他赋值为Lo...

关于PHP自动捕捉处理错误和异常的尝试

  之所以想着做错误和异常的自动处理是因为:     用的公司自己的框架写API,没有异常和错误相关功能,     而每次操作都进行try...catch,有点繁琐不说,感觉还很鸡肋,即使我catch到了,还是得写代码进行处理,哪怕封装了一个方法进行处理也还是繁琐,     这种情况应该是程序自动进行处理,不该是这样弱智的人工try...catch,然后处...