public class ClassLoaderContextSelector extends Object implements ContextSelector, org.apache.logging.log4j.spi.LoggerContextShutdownAware
Modifier and Type | Field and Description |
---|---|
protected static ConcurrentMap<String,AtomicReference<WeakReference<LoggerContext>>> |
CONTEXT_MAP |
protected static org.apache.logging.log4j.status.StatusLogger |
LOGGER |
Constructor and Description |
---|
ClassLoaderContextSelector() |
Modifier and Type | Method and Description |
---|---|
void |
contextShutdown(org.apache.logging.log4j.spi.LoggerContext loggerContext) |
protected LoggerContext |
createContext(String name,
URI configLocation) |
protected String |
defaultContextName() |
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
boolean currentContext)
Returns the LoggerContext.
|
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
boolean currentContext,
URI configLocation)
Returns the LoggerContext.
|
protected LoggerContext |
getDefault() |
List<LoggerContext> |
getLoggerContexts()
Returns a List of all the available LoggerContexts.
|
void |
removeContext(LoggerContext context)
Remove any references to the LoggerContext.
|
protected String |
toContextMapKey(ClassLoader loader) |
protected static final org.apache.logging.log4j.status.StatusLogger LOGGER
protected static final ConcurrentMap<String,AtomicReference<WeakReference<LoggerContext>>> CONTEXT_MAP
public ClassLoaderContextSelector()
public void contextShutdown(org.apache.logging.log4j.spi.LoggerContext loggerContext)
contextShutdown
in interface org.apache.logging.log4j.spi.LoggerContextShutdownAware
public LoggerContext getContext(String fqcn, ClassLoader loader, boolean currentContext)
ContextSelector
getContext
in interface ContextSelector
fqcn
- The fully qualified class name of the caller.loader
- ClassLoader to use or null.currentContext
- If true returns the current Context, if false returns the Context appropriate
for the caller if a more appropriate Context can be determined.public LoggerContext getContext(String fqcn, ClassLoader loader, boolean currentContext, URI configLocation)
ContextSelector
getContext
in interface ContextSelector
fqcn
- The fully qualified class name of the caller.loader
- ClassLoader to use or null.currentContext
- If true returns the current Context, if false returns the Context appropriate
for the caller if a more appropriate Context can be determined.configLocation
- The location of the configuration for the LoggerContext.public void removeContext(LoggerContext context)
ContextSelector
removeContext
in interface ContextSelector
context
- The context to remove.public List<LoggerContext> getLoggerContexts()
ContextSelector
getLoggerContexts
in interface ContextSelector
protected LoggerContext createContext(String name, URI configLocation)
protected String toContextMapKey(ClassLoader loader)
protected LoggerContext getDefault()
protected String defaultContextName()
Copyright © 1999-2021 The 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.