日志
why
原因
:
① 便于定位问题,线上排查问题
其实一个良好的系统我们通过日志就可以定位到问题
when
时机
:
① 遇到问题的时候只能通过
debug
来定位问题
② 碰到if...else
或者switch ... case ...
这样的分支,可以通过日志看到进入哪个分支
③ 核心功能,需要通过日志查看整个流程
how
error
:
影响到程序的正常运行、当前请求正常运行的异常情况:
① 打开配置文件失败
② 所有第三方对接的异常【包括返回的错误码】
③ 所有影响功能使用的异常【SQLException
和除了业务异常之外的所有异常(RuntimeException
、Exception
)】
注意
:
如果进行了抛出异常操作,请不要记录error日志,由最终处理方进行处理。
warn
:
不应该出现但是不影响程序、当前请求正常运行的异常情况:
① 有容错机制的时候出现的错误情况
② 找不到配置文件,但是系统能自动创建配置文件
即将接近临界值的时候,例如:缓存池占用达到警告线
业务异常的记录,比如:当接口抛出业务异常时,应该记录此异常
info
:
系统运行信息
- Service 方法中对于系统和业务的变更
- 主要业务逻辑中
外部接口- 客户端请求参数
- 调用第三方的调用参数和调用结果
debug
:
- 可以填写所有的想知道的相关信息(但不代表可以随便写,debug信息要有意义,最好有相关参数)
- 生产环境需要关闭DEBUG信息
- 如果在生产情况下需要开启DEBUG,需要使用开关进行管理,不能一直开启
trance
:
特别详细的系统运行完成信息,业务代码中,不要使用.(除非有特殊用意,否则请使用DEBUG级别替代)