diff --git a/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java b/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java index bf9305b1e92..c749b30d78b 100644 --- a/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java +++ b/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java @@ -17,9 +17,13 @@ package org.springframework.boot.logging.log4j2; import java.io.File; +import java.util.Map.Entry; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.Appender; +import org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender; +import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Rule; @@ -55,6 +59,17 @@ public class Log4J2LoggingSystemTests extends AbstractLoggingSystemTests { this.logger = LogManager.getLogger(getClass()); } + @After + public void flushAllOutputStreamAppenders() { + for (Entry entry : ((org.apache.logging.log4j.core.Logger) this.logger) + .getAppenders().entrySet()) { + Appender appender = entry.getValue(); + if (appender instanceof AbstractOutputStreamAppender) { + ((AbstractOutputStreamAppender) appender).getManager().flush(); + } + } + } + @Test public void noFile() throws Exception { this.loggingSystem.beforeInitialize();