Java 无法获取GELF Appender以添加侦探范围Id

Java 无法获取GELF Appender以添加侦探范围Id,java,spring,logback,graylog,gelf,Java,Spring,Logback,Graylog,Gelf,我正试图在我的logback-sping.xml GELF appender中获得作为附加字段包含的Sleuth Span Id和Trace Id,但运气不好。它们在控制台的实际日志文件输出中显示良好,但在灰色日志中不显示。注意:配置文件工作正常 <property name="CONSOLE_LOG_PATTERN" value="%date{ISO8601} [${springProfile}] [${springAppName:-},%X{X-B3-TraceId:-},%X{X-B

我正试图在我的logback-sping.xml GELF appender中获得作为附加字段包含的Sleuth Span Id和Trace Id,但运气不好。它们在控制台的实际日志文件输出中显示良好,但在灰色日志中不显示。注意:配置文件工作正常

<property name="CONSOLE_LOG_PATTERN" value="%date{ISO8601} [${springProfile}] [${springAppName:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}] [%level] [${PID}] [%X{bindName}] [%thread] [%logger{10}] : %msg%n %ex{20}"/>


<springProfile name="integration,qa,prod">
    <appender name="GELF" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender">
        <graylogHost>${graylogProtocol}:${graylogHost}</graylogHost>
        <graylogPort>${graylogPort}</graylogPort>
        <facility>${springAppName}</facility>
        <additionalFields>profile=${springProfile},traceid=%X{X-B3-TraceId:-},spanid=%X{X-B3-SpanId:-}</additionalFields>
        <extractStackTrace>true</extractStackTrace>
        <filterStackTrace>true</filterStackTrace>
        <maximumMessageSize>8192</maximumMessageSize>
        <timestampPattern>yyyy-MM-dd HH:mm:ss,SSSS</timestampPattern>
    </appender>
</springProfile>

${graylogProtocol}:${graylogHost}
${graylogPort}
${springAppName}
profile=${springProfile},traceid=%X{X-B3-traceid:-},spanid=%X{X-B3-spanid:-}
真的
真的
8192
yyyy MM dd HH:MM:ss,SSSS
我也试过:

        <additionalFields>profile=${springProfile},traceid=${X-B3-TraceId},spanid=${X-B3-SpanId}</additionalFields>
profile=${springProfile},traceid=${X-B3-traceid},spanid=${X-B3-spanid}

运气不好。

其他字段是静态的。它们可能通过应用系统属性得到预处理,但不会从MDC中提取值(
%X

为此,请使用
mdcFields

<mdcFields>X-B3-TraceId,X-B3-SpanId</mdcFields>
X-B3-TraceId,X-B3-SpanId
mdcFields
不支持包含的MDC字段的字段命名(例如
traceid=X-B3-traceid
不起作用)

文件: