【问题标题】:Cannot get GELF Appender to add Sleuth Span Id无法让 GELF Appender 添加 Sleuth Span Id
【发布时间】:2017-06-02 21:35:55
【问题描述】:

我正在尝试将 Sleuth Span-Id 和 Trace-Id 作为 additonalFields 包含在我的 logback-sping.xml GELF appender 中,但我没有运气。它们在控制台的实际日志文件输出中显示良好,但在 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>

运气不好。

【问题讨论】:

    标签: java spring logback graylog gelf


    【解决方案1】:

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

    为此使用mdcFields

    <mdcFields>X-B3-TraceId,X-B3-SpanId</mdcFields>
    

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

    文档:http://logging.paluch.biz/examples/logback.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-15
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      相关资源
      最近更新 更多