SLF4j之MDC:日志追踪

2018/10/20 SLF4j 日志追踪

概述

一种更加轻量级的实现是使用MDC机制,在处理请求前将请求的唯一标示放到MDC容器中如sessionId,这个唯一标示会随着日志一起输出,以此来区分该条日志是属于那个请求的。并在请求处理完成之后清除MDC容器。

缘起

项目中的模块化多服务开发,每个服务追踪日志很麻烦,借助 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 功能。

Search

    Table of Contents