一、打印日志注意事项
1、使用 Slf4j 注解
这个代码相信大家都很熟悉,你是否曾经看到或者自己因 copy 而 没有改变“当前类名”?
如果你们项目用到 lombok ,可以在类上使用 Slf4j 注解,省去手动写这行代码。
2、不建议使用的输出
为什么不建议使用 e.printStackTrace 和 System.out.print..???
e.printStackTrace () 和 System.out.print 会把堆栈异常信息输出到了 tomcat 控制台,占用内存空间,我们可以可用 log 对象输出到日志文件。
log.error("出现异常:{}",e)
3、使用参数化形式 {} 占位
不要使用 “+” 连接符拼接字符串。
4、输出不同级别的日志
项目中最常用有日志级别是 ERROR、WARN、INFO、DEBUG 四种
① ERROR(错误)
一般用来记录程序中发生的任何异常错误信息(Throwable),或者是记录业务逻辑出错。
② WARN(警告)
一般用来记录一些用户输入参数错误
③ INFO(信息)
如程序运行开始、结束、耗时、重要参数等信息,需要注意有选择性的有意义的输出,到时候自己找问题看一堆日志却找不到关键日志就没意义了。
④ DEBUG(调试)
这个级别一般记录一些运行中的中间参数信息,只允许在开发环境开启,选择性在测试环境开启
5、不要在 n 层循环中打印日志
最好的办法是在循环中记录要点,在循环外面总结打印出来。
二、如何优雅的打印日志?
SpringBoot 自定注解打印日志
1、maven 依赖
温馨提示:spring-boot-starter-aop 包中含 aspectj
2、自定义注解 WebLog
3、切面类 WebLogAspect
输出结果:
欢迎关注 @Python大星 ,一个会点 Python 的 Java 程序员。如果你有更好的想法,欢迎留言,一起探讨,想说你就说啊!
@Python大星 | 文