概述
一种更加轻量级的实现是使用MDC机制,在处理请求前将请求的唯一标示放到MDC容器中如sessionId,这个唯一标示会随着日志一起输出,以此来区分该条日志是属于那个请求的。并在请求处理完成之后清除MDC容器。
缘起
项目中的模块化多服务开发,每个服务追踪日志很麻烦,借助 MDC 相对变得轻松一些追踪日志。
实践
日志配置文件
使用 MDC.put("key","values");
key要与配置文件里的保持一致。
AOP方式
https://www.cnblogs.com/sealedbook/p/6227452.html
web应用也可以用拦截器 / 过滤器 方式。
https://blog.csdn.net/xiaolyuh123/article/details/80593468
原理
https://www.liangzl.com/get-article-detail-572.html
底层最终是使用的是ThreadLocal来做实现。
log4j / logback 都实现了 MDC 功能。