diff --git a/spring-boot/src/main/java/org/springframework/boot/logging/logback/LevelRemappingAppender.java b/spring-boot/src/main/java/org/springframework/boot/logging/logback/LevelRemappingAppender.java index 74dddc89e9..179307a4ce 100644 --- a/spring-boot/src/main/java/org/springframework/boot/logging/logback/LevelRemappingAppender.java +++ b/spring-boot/src/main/java/org/springframework/boot/logging/logback/LevelRemappingAppender.java @@ -52,11 +52,9 @@ public class LevelRemappingAppender extends AppenderBase { @Override protected void append(ILoggingEvent event) { - Level remappedLevel = this.remapLevels.get(event.getLevel()); - if (remappedLevel != null) { - AppendableLogger logger = getLogger(this.destinationLogger); - logger.callAppenders(new RemappedLoggingEvent(event)); - } + AppendableLogger logger = getLogger(this.destinationLogger); + Level remapped = this.remapLevels.get(event.getLevel()); + logger.callAppenders(remapped == null ? event : new RemappedLoggingEvent(event)); } protected AppendableLogger getLogger(String name) { diff --git a/spring-boot/src/test/java/org/springframework/boot/logging/logback/LevelRemappingAppenderTests.java b/spring-boot/src/test/java/org/springframework/boot/logging/logback/LevelRemappingAppenderTests.java index c8831db9e5..9372eb4e64 100644 --- a/spring-boot/src/test/java/org/springframework/boot/logging/logback/LevelRemappingAppenderTests.java +++ b/spring-boot/src/test/java/org/springframework/boot/logging/logback/LevelRemappingAppenderTests.java @@ -86,6 +86,13 @@ public class LevelRemappingAppenderTests { assertThat(this.logCaptor.getAllValues().get(1).getLevel(), equalTo(Level.WARN)); } + @Test + public void notRemapped() throws Exception { + this.appender.append(mockLogEvent(Level.TRACE)); + verify(this.logger).callAppenders(this.logCaptor.capture()); + assertThat(this.logCaptor.getAllValues().get(0).getLevel(), equalTo(Level.TRACE)); + } + private ILoggingEvent mockLogEvent(Level level) { ILoggingEvent event = mock(ILoggingEvent.class); given(event.getLevel()).willReturn(level);