From 953d69ce0b861688214f30c37d8c9ae04a5e5ebe Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 6 Dec 2017 15:30:32 +0000 Subject: [PATCH] Polish "Fix system properties in file-appender.xml" Closes gh-11232 --- .../logback/LogbackLoggingSystemTests.java | 31 +++++++++++++++++++ .../test/resources/logback-include-base.xml | 4 +++ 2 files changed, 35 insertions(+) create mode 100644 spring-boot-project/spring-boot/src/test/resources/logback-include-base.xml diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemTests.java index e462af5649..14cae94634 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemTests.java @@ -362,6 +362,22 @@ public class LogbackLoggingSystemTests extends AbstractLoggingSystemTests { .toString()).isEqualTo("100 MB"); } + @Test + public void testMaxFileSizePropertyWithXmlConfiguration() throws Exception { + MockEnvironment environment = new MockEnvironment(); + environment.setProperty("logging.file.max-size", "100MB"); + LoggingInitializationContext loggingInitializationContext = new LoggingInitializationContext( + environment); + File file = new File(tmpDir(), "logback-test.log"); + LogFile logFile = getLogFile(file.getPath(), null); + this.loggingSystem.initialize(loggingInitializationContext, + "classpath:logback-include-base.xml", logFile); + this.logger.info("Hello world"); + assertThat(getLineWithText(file, "Hello world")).contains("INFO"); + assertThat(ReflectionTestUtils.getField(getRollingPolicy(), "maxFileSize") + .toString()).isEqualTo("100 MB"); + } + @Test public void testMaxHistoryProperty() throws Exception { MockEnvironment environment = new MockEnvironment(); @@ -376,6 +392,21 @@ public class LogbackLoggingSystemTests extends AbstractLoggingSystemTests { assertThat(getRollingPolicy().getMaxHistory()).isEqualTo(30); } + @Test + public void testMaxHistoryPropertyWithXmlConfiguration() throws Exception { + MockEnvironment environment = new MockEnvironment(); + environment.setProperty("logging.file.max-history", "30"); + LoggingInitializationContext loggingInitializationContext = new LoggingInitializationContext( + environment); + File file = new File(tmpDir(), "logback-test.log"); + LogFile logFile = getLogFile(file.getPath(), null); + this.loggingSystem.initialize(loggingInitializationContext, + "classpath:logback-include-base.xml", logFile); + this.logger.info("Hello world"); + assertThat(getLineWithText(file, "Hello world")).contains("INFO"); + assertThat(getRollingPolicy().getMaxHistory()).isEqualTo(30); + } + @Test public void exceptionsIncludeClassPackaging() throws Exception { this.loggingSystem.beforeInitialize(); diff --git a/spring-boot-project/spring-boot/src/test/resources/logback-include-base.xml b/spring-boot-project/spring-boot/src/test/resources/logback-include-base.xml new file mode 100644 index 0000000000..b8a41480d7 --- /dev/null +++ b/spring-boot-project/spring-boot/src/test/resources/logback-include-base.xml @@ -0,0 +1,4 @@ + + + +