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

Is there a way to rename traceId and spanId?

给定以下日志记录布局模式:

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?

您必须注册自己的 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();
  }

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