日志框架
SLF4J
利于维护统一的日志输出分格,可以做到更换底层日志框架
日志级别
不同场景下 使用不同界别的日志进行打印
-
Error 严重错误 程序收到阻断 要监控
-
Warn 警告错误,程序可以继续进行执行。
-
Info 打印日志 记录
-
Debug 进行Bug判断和定位 =
-
Trace 追踪 (推荐使用info 和Debug)
日志实操
- 通常情况下 在进入之后就是 首先打印方法的入参 方法的结束位置 会打印一下处理的结果集合
合理使用if else 和switch case 打印分支日志 可以在条件判断出问题的时候 可以快速的定位
将传入的入参和日志对应的返回值都尽量执行打印 记录
在try catch中
需要进行打印exception 打印这个异常进行记录 包括其中的堆栈信息
不推荐使用e.printStackTrace() 对应的打印结果 将 日志记录和堆栈信息混合在一起 不太方便进行排查问题 其中这个打印是一个字符串的形式 进行打印堆栈信息 如果堆栈信息过大 那么字符串常量池所在的内存空间就会被挤满 最终会导致整个服务器对外的用户请求被卡住 (日志打的好,打挂服务器 手动狗头)
日志中的规范操作
使用{ } 占位符 而不是字符串拼接
同时对上线程序 debug日志是不能被打印
1.就是通过全局配置文件 配置日志级别的方式