Log4j2FileXmlTests Class — spring-boot Architecture
Architecture documentation for the Log4j2FileXmlTests class in Log4j2FileXmlTests.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4j2FileXmlTests.java lines 36–102
class Log4j2FileXmlTests extends Log4j2XmlTests {
@TempDir
@SuppressWarnings("NullAway.Init")
File temp;
@Override
@AfterEach
void stopConfiguration() {
super.stopConfiguration();
for (LoggingSystemProperty property : LoggingSystemProperty.values()) {
System.getProperties().remove(property.getEnvironmentVariableName());
}
}
@Test
void whenLogExceptionConversionWordIsNotConfiguredThenFileAppenderUsesDefault() {
assertThat(fileAppenderPattern()).contains("%xwEx");
}
@Test
void whenLogExceptionConversionWordIsSetThenFileAppenderUsesIt() {
withSystemProperty(LoggingSystemProperty.EXCEPTION_CONVERSION_WORD.getEnvironmentVariableName(), "custom",
() -> assertThat(fileAppenderPattern()).contains("custom"));
}
@Test
void whenLogLevelPatternIsNotConfiguredThenFileAppenderUsesDefault() {
assertThat(fileAppenderPattern()).contains("%5p");
}
@Test
void whenLogLevelPatternIsSetThenFileAppenderUsesIt() {
withSystemProperty(LoggingSystemProperty.LEVEL_PATTERN.getEnvironmentVariableName(), "custom",
() -> assertThat(fileAppenderPattern()).contains("custom"));
}
@Test
void whenLogLDateformatPatternIsNotConfiguredThenFileAppenderUsesDefault() {
assertThat(fileAppenderPattern()).contains("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
}
@Test
void whenLogDateformatPatternIsSetThenFileAppenderUsesIt() {
withSystemProperty(LoggingSystemProperty.DATEFORMAT_PATTERN.getEnvironmentVariableName(), "dd-MM-yyyy",
() -> assertThat(fileAppenderPattern()).contains("dd-MM-yyyy"));
}
@Override
protected String getConfigFileName() {
return "log4j2-file.xml";
}
@Override
protected void prepareConfiguration() {
System.setProperty(LoggingSystemProperty.LOG_FILE.getEnvironmentVariableName(),
new File(this.temp, "test.log").getAbsolutePath());
super.prepareConfiguration();
}
private String fileAppenderPattern() {
prepareConfiguration();
assertThat(this.configuration).isNotNull();
return ((PatternLayout) this.configuration.getAppender("File").getLayout()).getConversionPattern();
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free