diff --git a/axzo-common-loggings/axzo-common-trace/src/main/java/com/axzo/framework/trace/interceptor/TraceIdFilter.java b/axzo-common-loggings/axzo-common-trace/src/main/java/com/axzo/framework/trace/interceptor/TraceIdFilter.java index 3ec2d36..93cdf1b 100644 --- a/axzo-common-loggings/axzo-common-trace/src/main/java/com/axzo/framework/trace/interceptor/TraceIdFilter.java +++ b/axzo-common-loggings/axzo-common-trace/src/main/java/com/axzo/framework/trace/interceptor/TraceIdFilter.java @@ -38,11 +38,19 @@ public class TraceIdFilter extends OncePerRequestFilter { protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull FilterChain filterChain) throws ServletException, IOException { + + // wrapper + BodyReaderHttpServletRequestWrapper bodyRequest = new BodyReaderHttpServletRequestWrapper( + request); + // trace id 补充 - ExceptionUtil.ignoreException(() -> setTraceId(request, response), null); + + ExceptionUtil.ignoreException(() -> setTraceId(bodyRequest, response), null); + + //do try { - filterChain.doFilter(request, response); + filterChain.doFilter(bodyRequest, response); } finally { MDC.clear(); }