Source:
public DefaultAuditLoggerBase(AuditConfigurationMap externalConfig) { final AuditConfigurationMap config = new AuditConfigurationMapImpl(externalConfig); this.contextEnricher = new ContextEnricher(config); final Backends backend = AuditConfiguration.BACKEND.getValue(config, Backends.class); switch (backend) { case AUTO: if (Utils.isLogbackPresent()) { this.logger = loadBackend(LOGBACK_BACKEND, config); } else if (Utils.isLog4j1Present()) { this.logger = loadBackend(LOG4J1_BACKEND, config); } else if (Utils.isLog4j2Present()) { this.logger = loadBackend(LOG4J2_BACKEND, config); } else { throw new IllegalArgumentException("Selected backend is AUTO and no suitable backends found"); } break; case LOGBACK: if (!Utils.isLogbackPresent()) { throw new IllegalArgumentException("Selected backend is " + backend + " and it is not available on classpath"); } this.logger = loadBackend(LOGBACK_BACKEND, config); break; case LOG4J1: if (!Utils.isLog4j1Present()) { throw new IllegalArgumentException("Selected backend is " + backend + " and it is not available on classpath"); } this.logger = loadBackend(LOG4J1_BACKEND, config); break; case LOG4J2: if (!Utils.isLog4j2Present()) { throw new IllegalArgumentException("Selected backend is " + backend + " and it is not available on classpath"); } this.logger = loadBackend(LOG4J2_BACKEND, config); break; case CUSTOM: final String backendClass = AuditConfiguration.BACKEND_CLASS_NAME.getString(config); if (backendClass == null) { throw new IllegalArgumentException("Selected backend is " + backend + " and no backend class name has been specified"); } else if (!Utils.isClassPresent(backendClass)) { throw new IllegalArgumentException("Selected backend is " + backend + " and its associated backend class " + backendClass + " is not available on classpath"); } this.logger = loadBackend(backendClass, config); break; default: throw new IllegalArgumentException("Unsupported backend " + backend); } }

Target:
public DefaultAuditLoggerBase(AuditConfigurationMap externalConfig) { final AuditConfigurationMap config = new AuditConfigurationMapImpl(externalConfig); this.contextEnricher = new ContextEnricher(config); final Backends backend = AuditConfiguration.BACKEND.getValue(config, Backends.class); switch (backend) { case AUTO: if (Utils.isLogbackPresent()) { this.logger = loadBackend(LOGBACK_BACKEND, config); } else if (Utils.isLog4j1Present()) { this.logger = loadBackend(LOG4J1_BACKEND, config); } else if (Utils.isLog4j2Present()) { this.logger = loadBackend(LOG4J2_BACKEND, config); } else { throw new IllegalArgumentException("Selected backend is AUTO and no suitable backends found"); } break; case LOGBACK: if (!Utils.isLogbackPresent()) { throw new IllegalArgumentException("Selected backend is " + backend + " and it is not available on classpath"); } this.logger = loadBackend(LOGBACK_BACKEND, config); break; case LOG4J1: if (!Utils.isLog4j1Present()) { throw new IllegalArgumentException("Selected backend is " + backend + " and it is not available on classpath"); } this.logger = loadBackend(LOG4J1_BACKEND, config); break; case LOG4J2: if (!Utils.isLog4j2Present()) { throw new IllegalArgumentException("Selected backend is " + backend + " and it is not available on classpath"); } this.logger = loadBackend(LOG4J2_BACKEND, config); break; case CUSTOM: final String backendClass = AuditConfiguration.BACKEND_CLASS_NAME.getString(config); if (backendClass == null) { throw new IllegalArgumentException("Selected backend is '" + backend + "' and no backend class name has been specified"); } else if (!Utils.isClassPresent(backendClass)) { throw new IllegalArgumentException("Selected backend is '" + backend + "' and its associated backend class " + backendClass + " is not available on classpath"); } this.logger = loadBackend(backendClass, config); break; default: throw new IllegalArgumentException("Unsupported backend " + backend); } }