没有合适的资源?快使用搜索试试~ 我知道了~
Python之日志处理(logging模块).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 138 浏览量
2022-06-27
21:10:01
上传
评论
收藏 127KB DOCX 举报
温馨提示
试读
44页
通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。 简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题。比如,做运维的同学,在接收到报警或各种问题反馈后,进行问题排查时通常都会先去看各种日志,大部分问题都可以在日志中找到答案。再比如,做开发的同学,可以通过IDE控制台上输出的各种日志进行程序调试。对于运维老司机或者有经验的开发人员,可以快速的通过日志定位到问题的根源。可见,日志的重要性不可小觑。日志的作用可以简单总结为以下3点: 程序调试 了解软件程序运行情况,是否正常 软件程序运行故障分析与问题定位 如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析,如:分析用户的操作行为、类型洗好、地域分布以及其它更多的信息,由此可以实现改进业务、提高商业利益。
资源推荐
资源详情
资源评论
Python 之日志处理(logging 模块)
本节内容
1. 日志相关概念
2. 模块简介
3. 使用 提供的模块级别的函数记录日志
4. 模块日志流处理流程
5. 使用 四大组件记录日志
6. 配置 的几种方式
7. 向日志输出中添加上下文信息
8. 参考文档
一、日志相关概念
日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向
他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以
用一个可包含可选变量数据的消息来描述。此外,事件也有重要性的概念,这
个重要性也可以被称为严重性级别()。
1.日志的作用
通过 的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的
应用 足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或
其他更多信息;如果一个应用的 同时也分了多个级别,那么可以很轻易地
分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。
简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情
况是否正常,也可以在应用程序出现故障时快速定位问题。比如,做运维的同
学,在接收到报警或各种问题反馈后,进行问题排查时通常都会先去看各种日
志,大部分问题都可以在日志中找到答案。再比如,做开发的同学,可以通过
控制台上输出的各种日志进行程序调试。对于运维老司机或者有经验的开
发人员,可以快速的通过日志定位到问题的根源。可见,日志的重要性不可小
觑。日志的作用可以简单总结为以下 点:
程序调试
了解软件程序运行情况,是否正常
软件程序运行故障分析与问题定位
如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析,如:分析
用户的操作行为、类型洗好、地域分布以及其它更多的信息,由此可以实现改
进业务、提高商业利益。
2.日志的等级
我们先来思考下下面的两个问题:
作为开发人员,在开发一个应用程序时需要什么日志信息?在应用程序正式上线后
需要什么日志信息?
作为应用运维人员,在部署开发环境时需要什么日志信息?在部署生产环境时需要
什么日志信息?
在软件开发阶段或部署开发环境时,为了尽可能详细的查看应用程序的运行状
态来保证上线后的稳定性,我们可能需要把该应用程序所有的运行日志全部记
录下来进行分析,这是非常耗费机器性能的。当应用程序正式发布或在生产环
境部署应用程序时,我们通常只需要记录应用程序的异常信息、错误信息等,
这样既可以减小服务器的 压力,也可以避免我们在排查故障时被淹没在日
志的海洋里。那么,怎样才能在不改动应用程序代码的情况下实现在不同的环
境记录不同详细程度的日志呢?这就是日志等级的作用了,我们通过配置文件
指定我们需要的日志等级就可以了。
不同的应用程序所定义的日志等级可能会有所差别,分的详细点的会包含以下
几个等级:
3.日志字段信息与日志格式
本节开始问题提到过,一条日志信息对应的是一个事件的发生,而一个事件通
常需要包括以下几个内容:
事件发生时间
事件发生位置
事件的严重程度日志级别
事件内容
上面这些都是一条日志记录中可能包含的字段信息,当然还可以包括一些其他
信息,如进程 、进程名称、线程 、线程名称等。日志格式就是用来定义一
条日志记录中包含那些字段的,且日志格式通常都是可以自定义的。
说明:
输出一条日志时,日志内容和日志级别是需要开发人员明确指定
的。对于而其它字段信息,只需要是否显示在日志中就可以了。
4.日志功能的实现
几乎所有开发语言都会内置日志相关功能,或者会有比较优秀的第三方库来提
供日志操作功能,比如:, 等。它们功能强大、使用简单。
!" #自身也提供了一个用于记录日志的标准库模块 。
二、logging 模块简介
模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志
系统。 模块是 !" 的一个标准库模块,由标准库模块提供日志记录
的关键好处是所有 !" 模块都可以使用这个日志记录功能。所以,你的
应用日志可以将你自己的日志信息与来自第三方模块的信息整合起来。
1. logging 模块的日志级别
模块默认定义了以下几个日志等级,它允许开发人员自定义其他日志级
别,但是这是不被推荐的,尤其是在开发供别人使用的库时,因为这会导致日
志级别的混乱。
<table>
<tr>
<th>
日志等级()
</th>
<th>
描述
</th> </tr>
<tr>
<td>
DEBUG
</td>
<td>
#最详细的日志信息,典型应用场景是 问题诊断
</td> </tr>
<tr>
<td>
INFO
</td>
<td>
信息详细程度仅次于 ,通常只记录关键节点信息,用于确认一切都是
按照我们预期的那样进行工作
</td> </tr>
<tr>
<td>
WARNING
</td>
<td>
当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时
应用程序还是正常运行的
</td> </tr>
<tr>
<td>
ERROR
</td>
<td>
由于一个更严重的问题导致某些功能不能正常运行时记录的信息
</td> </tr>
<tr>
<td>
CRITICAL
</td>
<td>
剩余43页未读,继续阅读
资源评论
小兔子平安
- 粉丝: 209
- 资源: 1940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功