У меня есть приложение Spring Boot (версия 2.1.3.RELEASE ), использующее Spring Cloud Sleuth , и я хотел бы зарегистрировать значение багажа в текущем контексте пролета. Я использую Logback .
Мой регистратор имеет такую конфигурацию регистрации:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%date{ISO8601} %highlight(%-5level) %magenta(%thread) %cyan(%logger) %message %X{X-B3-TraceId} %X{X-B3-SpanId} %X{foo}%n
</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
В моем контроллере я пытаюсь установить багаж в текущем контексте диапазона:
Span currentSpan = this.tracer.currentSpan();
ExtraFieldPropagation.set(currentSpan.context(), "foo", "bar");
В моем application.properties я установил следующие свойства:
spring.sleuth.propagation-keys=foo
# Set the value of the foo baggage into MDC:
spring.sleuth.log.slf4j.whitelisted-mdc-keys=foo
Но я не могу войтизначение foo (с %X{foo}
). Результатом является пустая строка для foo:
My message e575e59578b92ace e575e59578b92ace