Записать значение багажа Spring Spring в текущем контексте диапазона - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть приложение 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 
...