public final class ProviderUtil
extends java.lang.Object
Provider
s. 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.Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
API_VERSION |
private static java.lang.String[] |
COMPATIBLE_API_VERSIONS |
private static ProviderUtil |
instance |
private static Logger |
LOGGER |
protected static java.lang.String |
PROVIDER_RESOURCE
Resource name for a Log4j 2 provider properties file.
|
protected static java.util.Collection<Provider> |
PROVIDERS
Loaded providers.
|
protected static java.util.concurrent.locks.Lock |
STARTUP_LOCK
Guards the ProviderUtil singleton instance from lazy initialization.
|
Modifier | Constructor and Description |
---|---|
private |
ProviderUtil() |
Modifier and Type | Method and Description |
---|---|
protected static void |
addProvider(Provider provider) |
static java.lang.ClassLoader |
findClassLoader() |
static java.lang.Iterable<Provider> |
getProviders() |
static boolean |
hasProviders() |
protected static void |
lazyInit()
Lazily initializes the ProviderUtil singleton.
|
protected static void |
loadProvider(java.net.URL url,
java.lang.ClassLoader cl)
Loads an individual Provider implementation.
|
protected static void |
loadProviders(java.lang.ClassLoader classLoader) |
protected static void |
loadProviders(java.util.Enumeration<java.net.URL> urls,
java.lang.ClassLoader cl)
Deprecated.
Use
loadProvider(java.net.URL, ClassLoader) instead. Will be removed in 3.0. |
private static boolean |
validVersion(java.lang.String version) |
protected static final java.lang.String PROVIDER_RESOURCE
protected static final java.util.Collection<Provider> PROVIDERS
protected static final java.util.concurrent.locks.Lock STARTUP_LOCK
private static final java.lang.String API_VERSION
private static final java.lang.String[] COMPATIBLE_API_VERSIONS
private static final Logger LOGGER
private static volatile ProviderUtil instance
protected static void addProvider(Provider provider)
protected static void loadProvider(java.net.URL url, java.lang.ClassLoader cl)
url
- the URL to the provider properties filecl
- the ClassLoader to load the provider classes withprotected static void loadProviders(java.lang.ClassLoader classLoader)
classLoader
- null can be used to mark the bootstrap class loader.@Deprecated protected static void loadProviders(java.util.Enumeration<java.net.URL> urls, java.lang.ClassLoader cl)
loadProvider(java.net.URL, ClassLoader)
instead. Will be removed in 3.0.public static java.lang.Iterable<Provider> getProviders()
public static boolean hasProviders()
protected static void lazyInit()
public static java.lang.ClassLoader findClassLoader()
private static boolean validVersion(java.lang.String version)