Merge branch '1.3.x'
This commit is contained in:
@@ -247,16 +247,18 @@ public class LoggingApplicationListener implements GenericApplicationListener {
|
||||
*/
|
||||
protected void initialize(ConfigurableEnvironment environment,
|
||||
ClassLoader classLoader) {
|
||||
setSystemProperties(environment);
|
||||
LogFile logFile = LogFile.get(environment);
|
||||
setSystemProperties(environment, logFile);
|
||||
if (logFile != null) {
|
||||
logFile.applyToSystemProperties();
|
||||
}
|
||||
initializeEarlyLoggingLevel(environment);
|
||||
initializeSystem(environment, this.loggingSystem, logFile);
|
||||
initializeFinalLoggingLevels(environment, this.loggingSystem);
|
||||
registerShutdownHookIfNecessary(environment, this.loggingSystem);
|
||||
}
|
||||
|
||||
private void setSystemProperties(ConfigurableEnvironment environment,
|
||||
LogFile logFile) {
|
||||
private void setSystemProperties(ConfigurableEnvironment environment) {
|
||||
RelaxedPropertyResolver propertyResolver = new RelaxedPropertyResolver(
|
||||
environment, "logging.");
|
||||
setSystemProperty(propertyResolver, EXCEPTION_CONVERSION_WORD,
|
||||
@@ -265,9 +267,6 @@ public class LoggingApplicationListener implements GenericApplicationListener {
|
||||
setSystemProperty(propertyResolver, FILE_LOG_PATTERN, "pattern.file");
|
||||
setSystemProperty(propertyResolver, LOG_LEVEL_PATTERN, "pattern.level");
|
||||
setSystemProperty(PID_KEY, new ApplicationPid().toString());
|
||||
if (logFile != null) {
|
||||
logFile.applyToSystemProperties();
|
||||
}
|
||||
}
|
||||
|
||||
private void setSystemProperty(RelaxedPropertyResolver propertyResolver,
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.junit.rules.ExpectedException;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.slf4j.bridge.SLF4JBridgeHandler;
|
||||
|
||||
import org.springframework.boot.ApplicationPid;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.context.event.ApplicationStartedEvent;
|
||||
import org.springframework.boot.logging.java.JavaLoggingSystem;
|
||||
@@ -430,6 +431,16 @@ public class LoggingApplicationListenerTests {
|
||||
assertThat(System.getProperty("PID")).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void logFilePropertiesCanReferenceSystemProperties() {
|
||||
EnvironmentTestUtils.addEnvironment(this.context,
|
||||
"logging.file=target/${PID}.log");
|
||||
this.initializer.initialize(this.context.getEnvironment(),
|
||||
this.context.getClassLoader());
|
||||
assertThat(System.getProperty("LOG_FILE"))
|
||||
.isEqualTo("target/" + new ApplicationPid().toString() + ".log");
|
||||
}
|
||||
|
||||
private boolean bridgeHandlerInstalled() {
|
||||
Logger rootLogger = LogManager.getLogManager().getLogger("");
|
||||
Handler[] handlers = rootLogger.getHandlers();
|
||||
|
||||
Reference in New Issue
Block a user