1、微服务拦截所有进来的请求,并在请求头设置traceId
2、微服务同时拦截所有的请求外部服务接口,并获取请求头里面的traceId再次设置到请求外部服务接口的请求头
3、结合logback实现Log4j的mdc功能
4、效果如下
5、碰到多线程里面如何使用呢
首先我们通过查询源码可以得知,MDC.put方法实际还是将traceId变量值维护在Theadlocal变量里面,所以在遇到多线程分支时,我们需要手动将源头的traceId设置到每个子线程里面Theadlocal变量中
1、微服务拦截所有进来的请求,并在请求头设置traceId
2、微服务同时拦截所有的请求外部服务接口,并获取请求头里面的traceId再次设置到请求外部服务接口的请求头
3、结合logback实现Log4j的mdc功能
4、效果如下
5、碰到多线程里面如何使用呢
首先我们通过查询源码可以得知,MDC.put方法实际还是将traceId变量值维护在Theadlocal变量里面,所以在遇到多线程分支时,我们需要手动将源头的traceId设置到每个子线程里面Theadlocal变量中