目录
1.日志相关概念
2.logging模块简介
3.使用logging提供的模块级别的函数记录日志
4.logging模块日志流处理流程
5.使用logging四大组件记录日志
6.配置logging的几种方式
7.向日志输出中添加上下文信息
8.参考文档
日志相关概念
日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以用一个可包含可选变量数据的消息来描述。此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)。
1.日志的作用
简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题。日志的作用可以简单总结为以下3点:
(1)程序调试
(2)了解软件程序运行情况,是否正常
(3)软件程序运行故障分析与问题定位
如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析,如:分析用户的操作行为、类型喜好、地域分布以及其它更多的信息,由此可以实现改进业务、提高商业利益。
2.日志的等级
不同的应用程序所定义的日志等级可能会有所差别,分的详细点的会包含以下几个等级:
日志等级 | 描述 |
---|---|
debug | 详细信息,一般只在调试问题时使用。 |
info | 证明事情按预期工作。 |
warning | 某些没有预料到的事件的提示,或者在将来可能会出现的问题提示。例如:磁盘空间不足。但是软件还是会照常运行。 |
error | 由于更严重的问题,软件已不能执行一些功能了。 |
crotical | 严重错误,表明软件已不能继续运行了。 |
说明:
上面列表中的日志等级是从上到下依次升高的,即:DEBUG < INFO < WARNING < ERROR < CRITICAL,而日志的信息量是依次减少的;
当为某个应用程序指定一个日志级别后,应用程序会记录所有日志级别大于或等于指定日志级别的日志信息,而不是仅仅记录指定级别的日志信息,nginx、php等应用程序以及这里要提高的python的logging模块都是这样的。同样,logging模块也可以指定日志记录器的日志级别,只有级别大于或等于该指定日志级别的日志记录才会被输出,小于该等级的日志记录将会被丢弃。