update - 调整因为加了 TraceLogFilter 后,接口请求异常的问题

This commit is contained in:
wangli 2024-02-19 17:03:40 +08:00
parent 1ac5fbdd7c
commit e0ec13c323

View File

@ -7,6 +7,7 @@ import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.apache.skywalking.apm.toolkit.trace.TraceContext;
import org.slf4j.MDC;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
@ -23,6 +24,7 @@ import java.util.UUID;
* @since 2024/2/19 16:23
*/
@Slf4j
@Component
public class HttpTraceLogFilter extends OncePerRequestFilter implements Ordered {
private static final String X_REQUEST_ID = "x-request-id";
@ -47,6 +49,14 @@ public class HttpTraceLogFilter extends OncePerRequestFilter implements Ordered
} else {
MDC.put(Constants.CTX_LOG_ID_MDC, ctxLogId);
}
try {
filterChain.doFilter(request, response);
} finally {
response.setHeader(Constants.CTX_LOG_ID_MDC, MDC.get(Constants.CTX_LOG_ID_MDC));
response.setHeader(X_REQUEST_ID, MDC.get(Constants.CTX_LOG_ID_MDC));
MDC.clear();
}
}
private String getTraceId() {