Configuration implements LogConfigListener { public synchronized void shutdown() { if (logConfigSupplier != null) { logConfigSupplier.removeLogConfigListener(this); logConfigSupplier = null; } loggingProvider.cleanup(); } private  Configuration(final LogLevelUpdateOccurs logLevelUpdateOccurs,
      final LogLevelUpdateScope logLevelUpdateScope, final LoggingProvider loggingProvider); static Configuration create(); @VisibleForTesting static Configuration create(final LoggingProvider loggingProvider); @VisibleForTesting static Configuration create(final LogLevelUpdateOccurs logLevelUpdateOccurs,
      final LogLevelUpdateScope logLevelUpdateScope); @VisibleForTesting static Configuration create(final LogLevelUpdateOccurs logLevelUpdateOccurs,
      final LogLevelUpdateScope logLevelUpdateScope, final LoggingProvider loggingProvider); synchronized void initialize(final LogConfigSupplier logConfigSupplier); @Override synchronized void configChanged(); synchronized void shutdown(); @VisibleForTesting
  static final int DEFAULT_LOGWRITER_LEVEL; static final String STARTUP_CONFIGURATION; static final String CLI_CONFIG; static final String LOG_LEVEL_UPDATE_OCCURS_PROPERTY; }
@Test public void shutdownDoesNothingWithoutCurrentLogConfigSupplier() { configuration.shutdown(); verifyNoMoreInteractions(logConfigSupplier); }