我正试图在我的logback sping.xml GELF应用程序中获得作为additonalFields包含的探测Span Id和跟踪Id,但是没有运气。它们在控制台的实际日志文件输出中显示得很好,但在Graylog中却没有出现。注意:配置文件工作得很好。
<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>也尝试过这样做:
<additionalFields>profile=${springProfile},traceid=${X-B3-TraceId},spanid=${X-B3-SpanId}</additionalFields>不走运。
发布于 2017-06-03 21:44:13
其他字段是静态的。它们可能通过应用系统属性进行预处理,但不从MDC (%X)中提取值。
为此目的使用mdcFields:
<mdcFields>X-B3-TraceId,X-B3-SpanId</mdcFields>mdcFields不支持包含的MDC字段的字段命名(例如,traceid=X-B3-TraceId不工作)。
文档:http://logging.paluch.biz/examples/logback.html
https://stackoverflow.com/questions/44337748
复制相似问题