From bedb44adc8c86565b9d0a854fad71adab7449f78 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Wed, 3 Sep 2014 11:43:28 -0700 Subject: [PATCH] Ensure non-remapped calls are still logged Update LevelRemappingAppender to that any calls that aren't remapped are still logged. Fixes gh-1481 --- .../boot/logging/logback/LevelRemappingAppender.java | 8 +++----- .../boot/logging/logback/LevelRemappingAppenderTests.java | 7 +++++++ 2 files changed, 10 insertions(+), 5 deletions(-) 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);