Java Spring cloud sleuth Extrafield在Spring cloud Gateway筛选器中传播失败

Java Spring cloud sleuth Extrafield在Spring cloud Gateway筛选器中传播失败,java,spring-boot,spring-cloud-sleuth,spring-cloud-gateway,distributed-tracing,Java,Spring Boot,Spring Cloud Sleuth,Spring Cloud Gateway,Distributed Tracing,我们使用springcloudgateway、Service1和Service2拥有三个模块Gateway。 网关呼叫service1和service1呼叫service2服务1和服务2正在使用spring web flux 网关有3个过滤器。全局过滤器、前置过滤器和后置过滤器 spring: 云: 网关: 默认过滤器: -姓名:GlobalFilter 路线: id:service1 uri:http://localhost:9091/ 谓词: -路径=/service1/** 过滤器: -名

我们使用
springcloudgateway
Service1
Service2
拥有三个模块
Gateway
。 网关呼叫
service1
service1
呼叫
service2
<代码>服务1和
服务2
正在使用spring web flux 网关有3个过滤器。全局过滤器、前置过滤器和后置过滤器

spring:
云:
网关:
默认过滤器:
-姓名:GlobalFilter
路线:
id:service1
uri:http://localhost:9091/
谓词:
-路径=/service1/**
过滤器:
-名称:预过滤器
-名称:PostFilter
在全局过滤器中,我们从设置为新行李钥匙的请求正文设置中读取值

ExtraFieldPropagation.set(tracer.currentSpan().context(),X-CUST\u TRAN\u ID,transactionID);
我们还设置了如下所示的Slueth属性,以便在日志中打印并转发到下一个服务(
service1
service2

sleuth:
行李钥匙:
-X-CUST_交易ID
日志:
slf4j:
白名单mdc密钥:
-X-CUST_交易ID
我们面临的问题是

X-CUST\u-TRAN\u ID
值通过请求和响应发送,并打印在
service1
service2
的日志中,但不打印在
Gateway
本身中

它不会在
GlobalFilter
的日志或
PreFilter
日志语句中打印,而是在
PostFilters
日志语句中打印。由于
CUST\u TRAN\u ID
是在
GlobalFilter
的过滤器中设置的,因此在设置为上下文后,应该在日志语句中打印它

请帮助以更好的方式设置字段以便在日志语句中进行传播和打印