private static LoggerProvider find() { return findProvider(); }
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl, "system property"); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK("system property"); } else if ("log4j2".equalsIgnoreCase(loggerProvider)) { return tryLog4j2(cl, "system property"); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl, "system property"); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j("system property"); logProvider(provider, "service loader"); return provider; } catch (ServiceConfigurationError ignore) { return tryJBossLogManager(cl, null); } catch (Throwable t) { return tryLog4j2(cl, null); } catch (Throwable t) { return tryLog4j(cl, null); } catch (Throwable t) { return trySlf4j(null); } catch (Throwable t) { return tryJDK(null);
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK(); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j(); return tryJBossLogManager(cl); } catch (Throwable t) { return tryLog4j(cl); } catch (Throwable t) { return trySlf4j(); } catch (Throwable t) { return tryJDK();
private static JDKLoggerProvider tryJDK(final String via) { final JDKLoggerProvider provider = new JDKLoggerProvider(); logProvider(provider, via); return provider; }
private static LoggerProvider tryJBossLogManager(final ClassLoader cl, final String via) throws ClassNotFoundException { final Class<? extends LogManager> logManagerClass = LogManager.getLogManager().getClass(); if (logManagerClass == Class.forName("org.jboss.logmanager.LogManager", false, cl) && Class.forName("org.jboss.logmanager.Logger$AttachmentKey", true, cl).getClassLoader() == logManagerClass.getClassLoader()) { final LoggerProvider provider = new JBossLogManagerProvider(); logProvider(provider, via); return provider; } throw new IllegalStateException(); }
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl, "system property"); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK("system property"); } else if ("log4j2".equalsIgnoreCase(loggerProvider)) { return tryLog4j2(cl, "system property"); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl, "system property"); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j("system property"); logProvider(provider, "service loader"); return provider; } catch (ServiceConfigurationError ignore) { return tryJBossLogManager(cl, null); } catch (Throwable t) { return tryLog4j2(cl, null); } catch (Throwable t) { return tryLog4j(cl, null); } catch (Throwable t) { return trySlf4j(null); } catch (Throwable t) { return tryJDK(null);
private static LoggerProvider trySlf4j(final String via) { final LoggerProvider provider = new Slf4jLoggerProvider(); logProvider(provider, via); return provider; }
private static LoggerProvider find() { return findProvider(); }
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl, "system property"); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK("system property"); } else if ("log4j2".equalsIgnoreCase(loggerProvider)) { return tryLog4j2(cl, "system property"); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl, "system property"); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j("system property"); logProvider(provider, "service loader"); return provider; } catch (ServiceConfigurationError ignore) { return tryJBossLogManager(cl, null); } catch (Throwable t) { return tryLog4j2(cl, null); } catch (Throwable t) { return tryLog4j(cl, null); } catch (Throwable t) { return trySlf4j(null); } catch (Throwable t) { return tryJDK(null);
private static LoggerProvider tryLog4j2(final ClassLoader cl, final String via) throws ClassNotFoundException { Class.forName("org.apache.logging.log4j.Logger", true, cl); Class.forName("org.apache.logging.log4j.LogManager", true, cl); Class.forName("org.apache.logging.log4j.spi.AbstractLogger", true, cl); LoggerProvider provider = new Log4j2LoggerProvider(); // if Log4j 2 has a bad implementation that doesn't extend AbstractLogger, we won't know until getting the first logger throws an exception logProvider(provider, via); return provider; }
private static LoggerProvider find() { return findProvider(); }
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl, "system property"); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK("system property"); } else if ("log4j2".equalsIgnoreCase(loggerProvider)) { return tryLog4j2(cl, "system property"); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl, "system property"); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j("system property"); logProvider(provider, "service loader"); return provider; } catch (ServiceConfigurationError ignore) { return tryJBossLogManager(cl, null); } catch (Throwable t) { return tryLog4j2(cl, null); } catch (Throwable t) { return tryLog4j(cl, null); } catch (Throwable t) { return trySlf4j(null); } catch (Throwable t) { return tryJDK(null);
private static LoggerProvider tryLog4j(final ClassLoader cl, final String via) throws ClassNotFoundException { Class.forName("org.apache.log4j.LogManager", true, cl); // JBLOGGING-65 - slf4j can disguise itself as log4j. Test for a class that slf4j doesn't provide. // JBLOGGING-94 - JBoss Logging does not detect org.apache.logging.log4j:log4j-1.2-api:2.0 Class.forName("org.apache.log4j.config.PropertySetter", true, cl); final LoggerProvider provider = new Log4jLoggerProvider(); logProvider(provider, via); return provider; }
private static LoggerProvider find() { return findProvider(); }
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl, "system property"); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK("system property"); } else if ("log4j2".equalsIgnoreCase(loggerProvider)) { return tryLog4j2(cl, "system property"); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl, "system property"); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j("system property"); logProvider(provider, "service loader"); return provider; } catch (ServiceConfigurationError ignore) { return tryJBossLogManager(cl, null); } catch (Throwable t) { return tryLog4j2(cl, null); } catch (Throwable t) { return tryLog4j(cl, null); } catch (Throwable t) { return trySlf4j(null); } catch (Throwable t) { return tryJDK(null);
private static JDKLoggerProvider tryJDK(final String via) { final JDKLoggerProvider provider = new JDKLoggerProvider(); logProvider(provider, via); return provider; }
private static LoggerProvider find() { return findProvider(); }
if (loggerProvider != null) { if ("jboss".equalsIgnoreCase(loggerProvider)) { return tryJBossLogManager(cl, "system property"); } else if ("jdk".equalsIgnoreCase(loggerProvider)) { return tryJDK("system property"); } else if ("log4j2".equalsIgnoreCase(loggerProvider)) { return tryLog4j2(cl, "system property"); } else if ("log4j".equalsIgnoreCase(loggerProvider)) { return tryLog4j(cl, "system property"); } else if ("slf4j".equalsIgnoreCase(loggerProvider)) { return trySlf4j("system property"); logProvider(provider, "service loader"); return provider; } catch (ServiceConfigurationError ignore) { return tryJBossLogManager(cl, null); } catch (Throwable t) { return tryLog4j2(cl, null); } catch (Throwable t) { return tryLog4j(cl, null); } catch (Throwable t) { return trySlf4j(null); } catch (Throwable t) { return tryJDK(null);
private static JDKLoggerProvider tryJDK(final String via) { final JDKLoggerProvider provider = new JDKLoggerProvider(); logProvider(provider, via); return provider; }
private static LoggerProvider find() { return findProvider(); }