org.apache.logging.log4j.util
Class ProviderUtil

java.lang.Object
  extended by org.apache.logging.log4j.util.ProviderUtil

public final class ProviderUtil
extends Object

Consider this class private. Utility class for Log4j Providers. When integrating with an application container framework, any Log4j Providers not accessible through standard classpath scanning should loadProvider(java.net.URL, ClassLoader) a classpath accordingly.


Field Summary
protected static String PROVIDER_RESOURCE
          Resource name for a Log4j 2 provider properties file.
protected static Collection<Provider> PROVIDERS
           
protected static Lock STARTUP_LOCK
          Guards the ProviderUtil singleton instance from lazy initialization.
 
Method Summary
static ClassLoader findClassLoader()
           
static Iterable<Provider> getProviders()
           
static boolean hasProviders()
           
protected static void lazyInit()
          Lazily initializes the ProviderUtil singleton.
protected static void loadProvider(URL url, ClassLoader cl)
          Loads an individual Provider implementation.
protected static void loadProviders(Enumeration<URL> urls, ClassLoader cl)
          Deprecated. Use loadProvider(java.net.URL, ClassLoader) instead. Will be removed in 3.0.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROVIDER_RESOURCE

protected static final String PROVIDER_RESOURCE
Resource name for a Log4j 2 provider properties file.

See Also:
Constant Field Values

PROVIDERS

protected static final Collection<Provider> PROVIDERS

STARTUP_LOCK

protected static final Lock STARTUP_LOCK
Guards the ProviderUtil singleton instance from lazy initialization. This is primarily used for OSGi support.

Since:
2.1
Method Detail

loadProvider

protected static void loadProvider(URL url,
                                   ClassLoader cl)
Loads an individual Provider implementation. This method is really only useful for the OSGi bundle activator and this class itself.

Parameters:
url - the URL to the provider properties file
cl - the ClassLoader to load the provider classes with

loadProviders

@Deprecated
protected static void loadProviders(Enumeration<URL> urls,
                                               ClassLoader cl)
Deprecated. Use loadProvider(java.net.URL, ClassLoader) instead. Will be removed in 3.0.


getProviders

public static Iterable<Provider> getProviders()

hasProviders

public static boolean hasProviders()

lazyInit

protected static void lazyInit()
Lazily initializes the ProviderUtil singleton.

Since:
2.1

findClassLoader

public static ClassLoader findClassLoader()


Copyright © 1999-2014 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.