SLF4J MDC(Mapped Diagnostic Context)可以帮助在日志中添加上下文信息,从而更好地跟踪和调试应用程序。MDC 允许你将特定于线程的键值对存储在日志上下文中,便于在日志中输出相关信息。 使用步骤 添加依赖:确保你的项目中已经包含了 SLF4J 和相关的日志实现(如 Logback 或 Log4j)。 设置MDC:在代码中使用MDC.put(key...
而且MDC的使用也很简单,就像是一个Map<String, String>实例,常用的方法put/get/remove/clear都有,又到了举粟子🌰时间:// 和 Map<String, String> 相似的接口定义MDC.put("key", "value");String value = MDC.get("key");MDC.remove("key");MDC.clear();// 获取 MDC 中的所有内容Map<String, ...
MDC主要的API有clear()、get()、put()、remove()方法等,简洁的api让我们使用上手基本没有难度。如何使用 1,修改日志打印格式 以日志框架logback为例,在logback.xml中,找到日志打印规则的配置,添加-%X{reqId}属性,其中reqId可以任意指定,你写其他的属性也可以,博主这里演示指定为reqId。2,添加过滤器MDCFilter...
1.导入SLF4J的MDC类: ```java import org.slf4j.MDC; ``` 2.在代码中设置MDC的上下文信息: ```java MDC.put("requestId", "12345"); MDC.put("userId", "user123"); ``` 3.在需要记录日志的地方,使用MDC中的上下文信息: ```java logger.info("User {} made a request with ID {}", MDC...
public final static Logger logger = LoggerFactory.getLogger(MDCLogDemo.class); public static void process() { // 这里是为了演示, 实际开发中应该是通过切面的形式,避免对业务代码的入侵 // 这里put到MDC的key需要和XML里面的key一致。 MDC.put(MDC_REQUEST_ID_KEY, UUID.randomUUID().toString()); ...
//Clear all entries in the MDC. public static void clear(); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 接口定义非常简单,此外,其使用也非常简单。 如上代码所示,一般,我们在代码中,只需要将指定的值put到线程上下文的Map中,然后,在对应的地方使用 get方法获取对应的值。此外,...
如果基础框架不提供MDC (例如java.util.logging ),那么SLF4J仍将存储MDC数据,但其中的信息将需要通过...
MDC.clear(); }/** *将traceId放入MDC *@paramtraceId 链路ID */privatestaticvoidsetTraceId(String traceId){ traceId = StringUtils.left(traceId,36); MDC.put(TRACE_ID, traceId); }/** * 生成traceId *@return链路ID */privatestaticStringgenerateTraceId(){returnTraceIdUtil.nextNumber(); ...
publicclassLogInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{Stringtid=UUID.randomUUID().toString().replace("-","");MDC.put(CloudConstant.MDC_TRACE,tid);returntrue;}@OverridepublicvoidafterCompletion(HttpServl...
// 设置SessionIdString token = UUID.randomUUID().toString().replace("-","");MDC.put(SESSION_KEY, token);returntrue;}} 注册拦截器 /*** WEB MVC配置类**@authoryuhao.wang3*/@ConfigurationpublicclassWebMvcConfigurerextendsWebMvcConfigurerAdapter{ ...