From 64a0be494492492286e0a8cc479b69f343146b59 Mon Sep 17 00:00:00 2001 From: Ben Lertlumprasertkul Date: Tue, 30 Aug 2022 16:33:26 +0100 Subject: [PATCH] #1863 port over default-logging-pattern-enabled flag to v3 (#2196) * 1863: port over default-logging-pattern-enabled flag to v3 https://github.com/spring-cloud/spring-cloud-sleuth/issues/1863 * #1863 fix logic + add tests Co-authored-by: lertlub --- .../autoconfig/TraceEnvironmentPostProcessor.java | 7 +++++-- .../autoconfig/TraceEnvironmentPostProcessorTests.java | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java index 604d44097..57d56175b 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java @@ -44,8 +44,11 @@ class TraceEnvironmentPostProcessor implements EnvironmentPostProcessor { // This doesn't work with all logging systems but it's a useful default so you see // traces in logs without having to configure it. if (Boolean.parseBoolean(environment.getProperty("spring.sleuth.enabled", "true"))) { - map.put("logging.pattern.level", - "%5p [${spring.zipkin.service.name:" + "${spring.application.name:}},%X{traceId:-},%X{spanId:-}]"); + if (Boolean + .parseBoolean(environment.getProperty("spring.sleuth.default-logging-pattern-enabled", "true"))) { + map.put("logging.pattern.level", "%5p [${spring.zipkin.service.name:" + + "${spring.application.name:}},%X{traceId:-},%X{spanId:-}]"); + } String neverRefereshables = environment.getProperty("spring.cloud.refresh.never-refreshable", "com.zaxxer.hikari.HikariDataSource"); map.put("spring.cloud.refresh.never-refreshable", diff --git a/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessorTests.java b/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessorTests.java index 10ec38da9..5f2d54113 100644 --- a/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessorTests.java +++ b/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessorTests.java @@ -54,4 +54,14 @@ class TraceEnvironmentPostProcessorTests { "com.zaxxer.hikari.HikariDataSource,org.springframework.cloud.sleuth.instrument.jdbc.DataSourceWrapper"); } + @Test + void should_not_set_logging_pattern_level_when_config_is_disabled() { + this.mockEnvironment.setProperty("spring.sleuth.enabled", "true"); + this.mockEnvironment.setProperty("spring.sleuth.default-logging-pattern-enabled", "false"); + + new TraceEnvironmentPostProcessor().postProcessEnvironment(this.mockEnvironment, null); + + then(this.mockEnvironment.getProperty("logging.pattern.level")).isNullOrEmpty(); + } + }