Java中日志打印的方式
使用slf4j
- 使用门面模式的日志框架,有利于项目的维护和各个类的日志处理方式的统一。
- 实现方式统一使用logback或者log4j2框架。
什么时候应该打印日志
- 需要debug确定问题的时候,应该考虑打印日志,通过日志进行问题定位。
- 当碰到if…else或switch这样的分支时,需要在首行打印日志,用来确定进入了哪个分支。
- 需要通过日志看到整个功能流程时。
日志的格式
logger.debug("Processing trade with id:[{}] and symbol:[{}]",id,symbol);
- 不要使用字符串拼接的方式,那样会产生很多String对象
- 使用[]进行参数隔离
- 如果有异常信息,需要记录完整的堆栈信息
日志的级别
Error:影响到程序正常运行的异常情况
- 如果进行了抛异常的操作,不要记录日志,应由最终的调用方处理。
Warn:不应该出现但是不影响程序的异常情况
- 有容错机制时出现的错误
- 找不到配置文件但系统可以自动配置
- 系统性能达到临界值
- 接口抛出业务异常时
Info:系统的运行时信息
- 系统状态的变更
- 主要逻辑中的步骤
- 客户端请求的参数
- 调用的结果
- 简单的Service只需要在出入口记录
- 复杂的程序逻辑需要记录
- 整个系统的接口需要记录入参
- 调用外部接口时要记录入参和出参
Debug
- 记录所有想知道的信息
- 生产环境需要关闭debug级别的日志
- 如果生产环境需要开启debug级别的日志,请使用开关进行开启,不要一直开启
本文标题:Java中日志打印的方式
本文链接:https://www.haomeiwen.com/subject/xerwuktx.html
网友评论