Skip to content

Commit 0dc2375

Browse files
committed
Merge pull request #14565 from izeye:deferred-log
* pr/14565: Add log messages to lines only when the destination isn't set
2 parents 0a31025 + 3dc78d1 commit 0dc2375

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/DeferredLog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,9 @@ private void log(LogLevel level, Object message, Throwable t) {
142142
if (this.destination != null) {
143143
logTo(this.destination, level, message, t);
144144
}
145-
this.lines.add(new Line(level, message, t));
145+
else {
146+
this.lines.add(new Line(level, message, t));
147+
}
146148
}
147149
}
148150

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/DeferredLogTests.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,13 @@
1616

1717
package org.springframework.boot.logging;
1818

19+
import java.util.List;
20+
1921
import org.apache.commons.logging.Log;
2022
import org.junit.Test;
2123

24+
import org.springframework.beans.DirectFieldAccessor;
25+
2226
import static org.assertj.core.api.Assertions.assertThat;
2327
import static org.mockito.Mockito.mock;
2428
import static org.mockito.Mockito.verify;
@@ -169,9 +173,21 @@ public void clearsOnReplayTo() {
169173

170174
@Test
171175
public void switchTo() {
176+
DirectFieldAccessor deferredLogFieldAccessor = new DirectFieldAccessor(
177+
this.deferredLog);
178+
List<String> lines = (List<String>) deferredLogFieldAccessor
179+
.getPropertyValue("lines");
180+
assertThat(lines).isEmpty();
181+
172182
this.deferredLog.error(this.message, this.throwable);
183+
assertThat(lines).hasSize(1);
184+
173185
this.deferredLog.switchTo(this.log);
186+
assertThat(lines).isEmpty();
187+
174188
this.deferredLog.info("Message2");
189+
assertThat(lines).isEmpty();
190+
175191
verify(this.log).error(this.message, this.throwable);
176192
verify(this.log).info("Message2", null);
177193
}

0 commit comments

Comments
 (0)