前言
你是否有过排查某个用户的操作出现 BUG 时, 从茫茫日志中寻找这个用户操作的痛苦经历, SLF4J 为我们提供了一种基于 ThreadLocal 来实现的 MDC 功能, 用来将自定义信息放入到日志中...你可能没太明白啥意思, 那么先来看看效果把:
普通日志:
image.png
加上MDC的日志:
image.png
食用方式
可以使用过滤器, 拦截器或 AOP 等方式来实现, 即在用户请求时..., 将用户信息写入到 MDC 中, 然后在请求完成后, 清空此 MDC....MDC 中....%X{username} 将 MDC 添加进去即可, 由于我使用的是 SpringBoot 的 logback, 所以在保留原 SpringBoot 默认格式的同时, 加上了 MDC:
logging.pattern.console