我们正在尝试将 spring-cloud-gateway 从带有 Sleuth 和 Brave 的 Spring Boot 2.7.18 升级到 3.1.5。与微米追踪和勇敢。 到目前为止一切顺利。
在 Spring Boot (Webflux) 之前 3 中,我们可以使用 io.projectreactor.netty:reactor-netty-http-brave 将spanIds和traceIds添加到HttpClient和HttpServer日志中。 请参阅:Micrometer Tracing 中的ReactorNettyHttpTracing(已弃用)等效项
这种方法不再适用于测微计追踪。
我们面临多个问题:
我创建了一个示例项目来演示 JUnit 测试的问题: https://github.com/sandra-markerud/spring-cloud-gateway-upgrade ‘master’分支包含 spring boot 2x 版本 “feature/upgrade”分支包含 spring boot 3.1.5 版本
任何帮助将不胜感激。
到目前为止我做了什么:
根据文档进行设置:
到目前为止,只有以下功能有效:
因此,由于 #2850、#3003 和 spring-boot-3-tracing-coroutine 中的发现和修复,我终于可以拼凑出一个工作示例了:
spring-cloud-gateway-upgrade 分支“spring-boot-3.x-upgrade”包含版本 spring-boot-3-2-1 的 spring-cloud-gateway 和日志 3.7.2。
测试表明,日志记录和跟踪现在终于可以正常工作,具体取决于日志簿的启用或禁用。
我希望这可以帮助其他遇到同样问题的人:)