Skip to content

Commit a120ed4

Browse files
committed
Stop logger context so that file handlers are not leaked
See gh-47424
1 parent b965ae1 commit a120ed4

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

core/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.apache.logging.log4j.core.LoggerContext;
3838
import org.apache.logging.log4j.core.config.Configuration;
3939
import org.apache.logging.log4j.core.config.LoggerConfig;
40+
import org.apache.logging.log4j.core.config.Reconfigurable;
4041
import org.apache.logging.log4j.core.config.composite.CompositeConfiguration;
4142
import org.apache.logging.log4j.core.config.plugins.util.PluginRegistry;
4243
import org.apache.logging.log4j.core.config.xml.XmlConfiguration;
@@ -114,6 +115,15 @@ void setup(TestInfo testInfo) {
114115
@AfterEach
115116
void cleanUp() {
116117
this.loggingSystem.cleanUp();
118+
LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false);
119+
Configuration configuration = loggerContext.getConfiguration();
120+
loggerContext.stop();
121+
if (configuration instanceof Reconfigurable reconfigurable) {
122+
loggerContext.start(reconfigurable.reconfigure());
123+
}
124+
else {
125+
loggerContext.start(configuration);
126+
}
117127
PluginRegistry.getInstance().clear();
118128
}
119129

0 commit comments

Comments
 (0)