日志级别
在项目开发中常用的日志级别,由高到低排序,分为下面几类:
- ERROR 该错误已经影响业务的正常执行,需要马上处理。
- WARN 不应该出现但是不影响程序、当前请求正常运行的异常情况,可根据实际情况选择性预警,解决时效要求不高,但需要额外关注。
- INFO 主要用于记录系统运行状态、程序执行结果、用户操作行为等信息。
- DEBUG 打印调试信息
应用场景
ERROR
并不是出现异常的地方就要打ERROR,如果出现问题的地方已经影响业务的正常执行,需要及时解决,就打ERROR。
- 空指针异常
- 服务不可用
- 数据库不可用
- 读写配置文件失败
- 网络链接失败
WARN
可以预料到的异常,并进行try catch捕获;潜在的问题(非核心接口的偶尔超时) 应用程序可以容忍这些异常,但应该受到关注。打WARN。
- 可以预料到的异常,已进行捕获,不过如果是核心业务,则需要打ERROR
- 有容错机制的时候出现错误
- 业务异常
- 限流,降级,熔断的操作
INFO
- 接口请求与响应,包括调用第三方服务的请求与响应
- 需要进行观测执行情况的行为:定时任务的开始执行与结束执行,批处理,耗时操作等
- 系统模块的入口与出口处:可以是重要方法级或模块级,记录它的输入与输出,方便定位
- 关键业务参数打印
- 程序中重要的状态信息的变化,包括配置信息的变化
- 程序运行耗时
DEBUG
调试信息,开发调试时打印的数据,通过该种日志,可以查看某一个操作每一步的执行过程,可以准确定位是何种操作,何种参数,何种顺序导致了某种错误的发生,方便解bug
- 在生产环境中,不会输出该级别的日志。
总结
以上不同级别日志的规范,读者可以根据自己的实际情况,合理选择。以上就是本次分享的所有内容,如有不足,请多多指正。