spring-boot - 如何使用 Spring Sleuth 2.0 记录 MDC?

标签 spring-boot slf4j spring-cloud-sleuth

引用How to log MDC with Spring Sleuth?中的问题/答案 我认为这已经/将随着 spring-cloud 2.0 发生变化,因为不再有 SpanLoggerSlf4jSpanLogger(或者我找不到)

如果应用程序属性 spring.sleuth.baggage-keysspring.sleuth.propagation-keys 如果设置也可以放在 MDC 中,那不是很好吗?在 Slf4jCurrentTraceContext 中思考(因为这个类目前是 final 我不能子类化它)

如果没有,我如何相应地使用 spring-cloud 2.0 实现这一点?

最佳答案

我们不想将所有条目都放在 MDC 中(这真的没有多大意义)。但是,您可以复制 Slf4jCurrentTraceContext 并以您想要的方式扩展它(并将其注册为 bean),或者创建您自己的 CurrentTraceContext 实现来包装现有的 CurrentTraceContext 通过 Bean 后处理器执行附加逻辑。我想第一个选项更可取。

关于spring-boot - 如何使用 Spring Sleuth 2.0 记录 MDC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581760/

相关文章:

tomcat - 没有定义 SpringApplication 源。覆盖配置方法或添加 @Configuration 注释

java - 无法进入我的 spring boot Controller 方法

java - spring boot @refreshscope 不更新数据源

java - 如何针对部署在 Openshift(基于云的 Kubernetes)的 Elasticsearch 在 Spring Boot 上使用自签名证书实现 SSL

java - 将org.slf4j.MDC与Netty channel 一起使用?

java - slf4j 是否存在像 Tapestry 的 @Log 一样的注释?

java - 使用 Spring Boot 拦截请求和响应以获取/添加相关 ID

java - 如何在没有 Spring boot 的情况下创建 Spring sleuth 应用程序

java - sleuth 与 Retrofit2 兼容吗

java - 即使在 Bluemix 中作为 header 传递到服务请求,Sleuth header X-B3-TraceId 值也会重新生成