在日常的业务系统里,我们往往需要多个数据库操作,或者是多个方法的调用嵌套,当用户数多了,或者用户操作频繁,就会导致不同用户的操作日志错综复杂的交合在一起,我们使用日志的traceId可以有效地分析日志,从而方便地跟踪错误和解决问题。
在sl4j里添加traceId是比较简单的一件事,鉴于笔者做得系统并非不大,也非分布式或集群,所以这个只分享最简单的做法,大神们看不过瘾请绕路。
MDC.put("traceId", UUID.randomUUID().toString().replaceAll("-", ""));
第一步,在控制器或拦截器里添加traceId到日志框架里。
%d{yyyy-MM-dd HH:mm:ss,SSS} [%F:%L]-[%p]-[%X{traceId}] %m%n
第二部,修改日志模板,加上[%X{traceId}]这一块既可