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 |
DEFAULT_STOP_TIMEOUT
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.
|
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Map.Entry<String,Object> entry,
boolean currentContext,
URI configLocation)
Returns the LoggerContext.
|
protected LoggerContext |
getDefault() |
List<LoggerContext> |
getLoggerContexts()
Returns a List of all the available LoggerContexts.
|
boolean |
hasContext(String fqcn,
ClassLoader loader,
boolean currentContext)
Checks to see if a LoggerContext is installed.
|
void |
removeContext(LoggerContext context)
Remove any references to the LoggerContext.
|
void |
shutdown(String fqcn,
ClassLoader loader,
boolean currentContext,
boolean allContexts)
Shuts down the LoggerContext.
|
protected String |
toContextMapKey(ClassLoader loader) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getContext
protected static final org.apache.logging.log4j.status.StatusLogger LOGGER
protected static final ConcurrentMap<String,AtomicReference<WeakReference<LoggerContext>>> CONTEXT_MAP
public ClassLoaderContextSelector()
public void shutdown(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts)
ContextSelector
shutdown
in interface ContextSelector
fqcn
- The fully qualified class name of the caller.loader
- The ClassLoader to use or null.currentContext
- If true returns the current Context, if false returns the Context appropriateallContexts
- if true all LoggerContexts that can be located will be shutdown.public void contextShutdown(org.apache.logging.log4j.spi.LoggerContext loggerContext)
contextShutdown
in interface org.apache.logging.log4j.spi.LoggerContextShutdownAware
public boolean hasContext(String fqcn, ClassLoader loader, boolean currentContext)
ContextSelector
hasContext
in interface ContextSelector
fqcn
- The fully qualified class name of the caller.loader
- The 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)
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 LoggerContext getContext(String fqcn, ClassLoader loader, Map.Entry<String,Object> entry, 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.