作为一名 java 程序员,我深知日志的重要性。
为问题的排查和问题的追踪提供了高效而优雅的方式。
下面来一起看一下 python 的日志处理吧。
ps: 本文暂时不仔细研究每一个配置的信息,在使用中慢慢学习。毕竟 python 的 logging 和 java 的各种日志卷框架思想非常类似。
logging
标准模块简介
logging 模块提供功能齐全且灵活的日志记录系统。
2018年2月14日大约 2 分钟
作为一名 java 程序员,我深知日志的重要性。
为问题的排查和问题的追踪提供了高效而优雅的方式。
下面来一起看一下 python 的日志处理吧。
ps: 本文暂时不仔细研究每一个配置的信息,在使用中慢慢学习。毕竟 python 的 logging 和 java 的各种日志卷框架思想非常类似。
logging 模块提供功能齐全且灵活的日志记录系统。
日志记录的好坏直接关系到系统出现问题时定位的速度,同时可以通过对日志的观察和分析,提前发现系统可能的风险,避免线上事故的发生。
整个团队(包括运维人员)需要对日志级别有明确的规定,什么日志记入什么级别的日志,什么级别的错误出现要如何处理等
需要定期对日志内容进行优化更新,目的就是通过日志快速准确的定位问题
要明确不同日志的用途,对日志内容进行分类
绝不要打印没有用的日志,防止无用日志淹没重要信息
日志信息要准确全面,努力做到仅凭日志就可以定位问题
要以同样严格的要求对待测试程序的日志
日志的优化是一件持续不断需要投入精力的事,需要不断从错误中学习
在RequestID中尽量编码更多的信息
将一个请求的整个处理流程和唯一的requestID关联起来
让一台机器开启DEBUG日志
新上线服务器后一定要对日志进行观察,特别地,开发人员可以通过观察日志来确认新功能是否工作正常
通过日志级别的提升来发现潜在问题
对日志进行监控报警,比客户先发现系统问题
通过日志中的关键字来确定系统的运行状态
日志格式要统一规范
将错误日志输出到一个单独的文件中进行分析
要把日志的大小,如何切分,如何删除等作为规范建立起来