From ec1ada24b18dd7221e377336dbcbd73b27604f55 Mon Sep 17 00:00:00 2001 From: "Bjarte S. Karlsen" Date: Thu, 26 Mar 2020 12:05:31 +0100 Subject: [PATCH] Ignore legacy keys in MDC. (#1582) --- .../cloud/sleuth/log/Slf4jScopeDecorator.java | 25 ------------------- .../cloud/sleuth/log/Slf4JSpanLoggerTest.java | 6 ----- 2 files changed, 31 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jScopeDecorator.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jScopeDecorator.java index e1dca9a80..c9f7806d7 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jScopeDecorator.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jScopeDecorator.java @@ -45,15 +45,6 @@ import org.springframework.util.StringUtils; */ final class Slf4jScopeDecorator implements CurrentTraceContext.ScopeDecorator { - // Backward compatibility for all logging patterns - private static final String LEGACY_EXPORTABLE_NAME = "X-Span-Export"; - - private static final String LEGACY_PARENT_ID_NAME = "X-B3-ParentSpanId"; - - private static final String LEGACY_TRACE_ID_NAME = "X-B3-TraceId"; - - private static final String LEGACY_SPAN_ID_NAME = "X-B3-SpanId"; - private static final Logger log = LoggerFactory.getLogger(Slf4jScopeDecorator.class); private final SleuthProperties sleuthProperties; @@ -82,26 +73,18 @@ final class Slf4jScopeDecorator implements CurrentTraceContext.ScopeDecorator { final String previousParentId = MDC.get("parentId"); final String previousSpanId = MDC.get("spanId"); final String spanExportable = MDC.get("spanExportable"); - final String legacyPreviousTraceId = MDC.get(LEGACY_TRACE_ID_NAME); - final String legacyPreviousParentId = MDC.get(LEGACY_PARENT_ID_NAME); - final String legacyPreviousSpanId = MDC.get(LEGACY_SPAN_ID_NAME); - final String legacySpanExportable = MDC.get(LEGACY_EXPORTABLE_NAME); final List> previousMdc = previousMdc(); if (currentSpan != null) { String traceIdString = currentSpan.traceIdString(); MDC.put("traceId", traceIdString); - MDC.put(LEGACY_TRACE_ID_NAME, traceIdString); String parentId = currentSpan.parentId() != null ? HexCodec.toLowerHex(currentSpan.parentId()) : null; replace("parentId", parentId); - replace(LEGACY_PARENT_ID_NAME, parentId); String spanId = HexCodec.toLowerHex(currentSpan.spanId()); MDC.put("spanId", spanId); - MDC.put(LEGACY_SPAN_ID_NAME, spanId); String sampled = String.valueOf(currentSpan.sampled()); MDC.put("spanExportable", sampled); - MDC.put(LEGACY_EXPORTABLE_NAME, sampled); log("Starting scope for span: {}", currentSpan); if (currentSpan.parentId() != null) { if (log.isTraceEnabled()) { @@ -123,10 +106,6 @@ final class Slf4jScopeDecorator implements CurrentTraceContext.ScopeDecorator { MDC.remove("parentId"); MDC.remove("spanId"); MDC.remove("spanExportable"); - MDC.remove(LEGACY_TRACE_ID_NAME); - MDC.remove(LEGACY_PARENT_ID_NAME); - MDC.remove(LEGACY_SPAN_ID_NAME); - MDC.remove(LEGACY_EXPORTABLE_NAME); for (String s : whitelistedBaggageKeys()) { MDC.remove(s); } @@ -154,10 +133,6 @@ final class Slf4jScopeDecorator implements CurrentTraceContext.ScopeDecorator { replace("parentId", previousParentId); replace("spanId", previousSpanId); replace("spanExportable", spanExportable); - replace(LEGACY_TRACE_ID_NAME, legacyPreviousTraceId); - replace(LEGACY_PARENT_ID_NAME, legacyPreviousParentId); - replace(LEGACY_SPAN_ID_NAME, legacyPreviousSpanId); - replace(LEGACY_EXPORTABLE_NAME, legacySpanExportable); for (AbstractMap.SimpleEntry entry : previousMdc) { replace(entry.getKey(), entry.getValue()); } diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/log/Slf4JSpanLoggerTest.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/log/Slf4JSpanLoggerTest.java index 687d9067d..45ba2c969 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/log/Slf4JSpanLoggerTest.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/log/Slf4JSpanLoggerTest.java @@ -64,13 +64,10 @@ public class Slf4JSpanLoggerTest { Scope scope = this.slf4jScopeDecorator.decorateScope(this.span.context(), () -> { }); - assertThat(MDC.get("X-B3-TraceId")) - .isEqualTo(this.span.context().traceIdString()); assertThat(MDC.get("traceId")).isEqualTo(this.span.context().traceIdString()); scope.close(); - assertThat(MDC.get("X-B3-TraceId")).isNullOrEmpty(); assertThat(MDC.get("traceId")).isNullOrEmpty(); } @@ -137,18 +134,15 @@ public class Slf4JSpanLoggerTest { @Test public void should_remove_entries_from_mdc_from_null_span() throws Exception { - MDC.put("X-B3-TraceId", "A"); MDC.put("traceId", "A"); Scope scope = this.slf4jScopeDecorator.decorateScope(null, () -> { }); - assertThat(MDC.get("X-B3-TraceId")).isNullOrEmpty(); assertThat(MDC.get("traceId")).isNullOrEmpty(); scope.close(); - assertThat(MDC.get("X-B3-TraceId")).isEqualTo("A"); assertThat(MDC.get("traceId")).isEqualTo("A"); }