LoggingSystemShutdownListener runs immediately after BootstrapApplicationListener and contains the code which used to be in that to clean up the logging system (and make it go dark). That is still a little bit of a hack to work around some limitations in the static logging libraries (via the Spring Boot Logging System and LoggingApplicationListener). If the LoggingApplicationListener is then *not* applied in the ContextRefresher, then we don't need the LoggingSystemShutdownListener either. In fact we can narrow down the ContextRefresher to be only interested in the listeners that affect the Environment (of which we know of only 2). It means that any listeners that are added that affect the Environment will not be applied, but there are plenty of more "official" channels for modifying the Environment (EnvironmentPostProcessor and PropertySourceLocator), so users can easily migrate to a better implementation.
Spring Cloud Context
Utilities and special services for the ApplicationContext of a Spring Cloud application (bootstrap context, encryption, refresh scope and environment endpoints).