笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章转载需注明,如果喜欢请点赞+关注,感谢支持!
导读:本文带你用logging模块来实现日志管理功能。模块三是重点内容,建议用较长的时间阅读。
目录
Logging模块日志管理
logging官方中文攻略:https://docs.python.org/zh-cn/3.7/howto/logging.html#logging-advanced-tutorial
日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性。
一、日志介绍
日志的定义:运行时会出现或记录的打印信息。
日志的作用:一个好的日志记录不仅可以追踪某些软件运行时所发生事件,还可以记录并定位到一些问题,比如跑自动化用例。
通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。
简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题。
比如运维:在接收到报警或各种问题反馈后,进行问题排查时通常都会先去看各种日志,大部分问题都可以在日志中找到答案。
比如开发:可以通过IDE控制台上输出的各种日志进行程序调试。
比如测试:在做自动化测试时可以通过日志记录bug,并将bug原因填写在日志里记录,等等。
不仅仅是python,C、JAVA等其他常用的语言中都有日志功能,而文本主要是讲解python中logging模块实现的日志功能。
二、基本用法
同于JAVA,Python自身也提供了一个用于记录日志的标准库模块—— logging模块。
官方介绍:
该模块定义的基础类和函数都列在下面。
记录器暴露了应用程序代码直接使用的接口。
处理程序将日志记录(由记录器创建)发送到适当的目标。
过滤器提供了更精细的附加功能,用于确定要输出的日志记录。
格式化程序指定最终输出中日志记录的样式。
2.1 日志等级
logging模块默认定义了以下几个日志等级,它允许开发人员自定义其他日志级别,但是这是不被推荐的,了解即可。
python的日志等级记录的数值如下:
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0
级别 |
数值 |
---|---|
|
50 |
|
40 |
|
30 |
|
20 |
|
10 |
| <