Clean up the logging system later in context close processing
Previously, the logging system was cleaned up in response to the root context's ContextClosedEvent being received. This event is published early in a context's close processing. As a result, the logging system is in cleaned up state while, for example, disposable beans are being destroyed. This commit reworks the logic that triggers logging system clean up to use a disposable bean instead. Disposable beans are called in reverse-registration order. The logging clean up bean is registered as early as possible so that it should be the last disposable bean to be called. Closes gh-11676
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2017 the original author or authors.
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -27,7 +27,7 @@ import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.context.config.AnsiOutputApplicationListener;
|
||||
import org.springframework.boot.context.config.ConfigFileApplicationListener;
|
||||
import org.springframework.boot.context.logging.ClasspathLoggingApplicationListener;
|
||||
import org.springframework.boot.context.logging.LoggingApplicationListener;
|
||||
import org.springframework.boot.context.logging.LoggingSystemLifecycle;
|
||||
import org.springframework.boot.devtools.remote.client.RemoteClientConfiguration;
|
||||
import org.springframework.boot.devtools.restart.RestartInitializer;
|
||||
import org.springframework.boot.devtools.restart.RestartScopeInitializer;
|
||||
@@ -74,7 +74,7 @@ public final class RemoteSpringApplication {
|
||||
listeners.add(new AnsiOutputApplicationListener());
|
||||
listeners.add(new ConfigFileApplicationListener());
|
||||
listeners.add(new ClasspathLoggingApplicationListener());
|
||||
listeners.add(new LoggingApplicationListener());
|
||||
listeners.add(new LoggingSystemLifecycle());
|
||||
listeners.add(new RemoteUrlPropertyExtractor());
|
||||
return listeners;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user