code: public void reconcileAppenders() {
          for (Appender appender : appenderList) {
              if (!configuredAppenderList.contains(appender.getName())) {
                  appender.close();
                  appenderList.remove(appender);
              }
          }
      }
docs: Reconciles the appender list after configuration to ensure that the asynchrnous
  appenders are not left over after the configuration.  This is needed because the
  appenders are not cleaned out completely during configuration for it to retain the
  ability to not messages.