diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/ConfigFileApplicationListenerTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/ConfigFileApplicationListenerTests.java index 7e253e1ffc6..c62b40b3f47 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/ConfigFileApplicationListenerTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/ConfigFileApplicationListenerTests.java @@ -28,10 +28,10 @@ import java.util.Properties; import java.util.stream.Collectors; import java.util.stream.StreamSupport; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.core.LoggerContext; -import org.apache.logging.log4j.core.config.LoggerConfig; +import org.apache.logging.log4j.core.Logger; import org.assertj.core.api.Condition; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -61,6 +61,7 @@ import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.springframework.test.context.support.TestPropertySourceUtils; +import org.springframework.test.util.ReflectionTestUtils; import org.springframework.util.StringUtils; import static org.assertj.core.api.Assertions.assertThat; @@ -495,17 +496,15 @@ class ConfigFileApplicationListenerTests { } private void withDebugLogging(Runnable runnable) { - LoggerContext loggingContext = (LoggerContext) LogManager.getContext(false); - org.apache.logging.log4j.core.config.Configuration configuration = loggingContext.getConfiguration(); - configuration.addLogger(ConfigFileApplicationListener.class.getName(), - new LoggerConfig(ConfigFileApplicationListener.class.getName(), Level.DEBUG, true)); - loggingContext.updateLoggers(); + Log log = LogFactory.getLog(ConfigFileApplicationListener.class); + Logger logger = (Logger) ReflectionTestUtils.getField(log, "logger"); + Level previousLevel = logger.getLevel(); + logger.setLevel(Level.DEBUG); try { runnable.run(); } finally { - configuration.removeLogger(ConfigFileApplicationListener.class.getName()); - loggingContext.updateLoggers(); + logger.setLevel(previousLevel); } } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/java/JavaLoggingSystemTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/java/JavaLoggingSystemTests.java index 5f5768e10e0..cfe281248f0 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/java/JavaLoggingSystemTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/java/JavaLoggingSystemTests.java @@ -70,6 +70,7 @@ class JavaLoggingSystemTests extends AbstractLoggingSystemTests { @AfterEach void resetLogger() { this.logger.setLevel(Level.OFF); + this.loggingSystem.getShutdownHandler().run(); } @AfterEach diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java index 6c6320253e6..06b09e381b2 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java @@ -29,6 +29,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.config.Reconfigurable; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -66,8 +67,12 @@ class Log4J2LoggingSystemTests extends AbstractLoggingSystemTests { private Logger logger; + private Configuration configuration; + @BeforeEach void setup() { + LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false); + this.configuration = loggerContext.getConfiguration(); this.loggingSystem.cleanUp(); this.logger = LogManager.getLogger(getClass()); } @@ -75,6 +80,9 @@ class Log4J2LoggingSystemTests extends AbstractLoggingSystemTests { @AfterEach void cleanUp() { this.loggingSystem.cleanUp(); + LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false); + loggerContext.stop(); + loggerContext.start(((Reconfigurable) this.configuration).reconfigure()); } @Test