有没有办法重命名 traceId 和 spanId?

时间:2021-04-06 14:08:31

标签: spring-cloud-sleuth

给定以下日志布局模式:

appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - [%X{newTraceIdPlaceholder}, %X{ newSpanIdPlaceholder}] - %X{Request-Uri} - %msg%n

有没有办法告诉 Sleuth 将“newTraceIdPlaceholder”和“newSpanIdPlaceholder”字段视为 traceId 和 spanId?

1 个答案:

答案 0 :(得分:0)

您必须注册自己的 Brave 类型的 CorrelationScopeCustomizer bean,然后您可以在那里以与此类似的方式提供其他字段:

CurrentTraceContext.ScopeDecorator create() {
    return new Builder()
      .clear()
      .add(SingleCorrelationField.create(BaggageFields.TRACE_ID))
      .add(SingleCorrelationField.create(BaggageFields.PARENT_ID))
      .add(SingleCorrelationField.create(BaggageFields.SPAN_ID))
      .add(SingleCorrelationField.create(BaggageFields.SAMPLED))
      .build();
  }

您可以在那里提供自己的字段