java - 使用 Spring Cloud Sleuth 在每次 HTTP 请求后清除 MDC 上下文是否安全?

标签 java spring spring-cloud trace spring-cloud-sleuth

我们在 org.springframework.web.filter.OncePerRequestFilter 中的每个 HTTP 请求之后清除 MDC 上下文。

我们现在想要使用 Spring Cloud Sleuth。 Spring Cloud Sleuth 还设置 MDC 值。

在每次 HTTP 请求后清除整个 MDC 上下文是否仍然可以?或者这会干扰 Spring Cloud Sleuth?

最佳答案

Spring Cloud Sleuth 使用 MDC 确保日志条目包含跟踪和跨度 ID。如果您在日志语句发生之前清除这些条目,显然您不会在日志中获得条目。不过,这不会影响 Sleuth。 Sleuth 重用 ThreadLocals 来存储当前跨度的上下文。

关于java - 使用 Spring Cloud Sleuth 在每次 HTTP 请求后清除 MDC 上下文是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58875289/

相关文章:

java - 为什么@Value 作为构造函数的参数正确填充属性?

java - JBoss maven插件: deployment fails,依赖项未找到

java - 禁用自定义健康检查端点

java - SpringMVC + Websocket + 聊天初始 HttpHandshake 失败

spring-cloud - Spring Cloud Zuul - 使用生成的 jwt token 时拒绝来自 auth-server 的访问

java - 使用 Spring Boot 2.4.1 启动 Eureka Client 时出错

JavaFX - 将另一个类的属性绑定(bind)到状态栏

java - Spring引导加载以数字为键的嵌套属性

spring-boot - 使用 Zuul 作为认证网关

java - 方便地在 enum 和 int/String 之间映射