Class BasicAsyncLoggerContextSelector
- java.lang.Object
-
- org.apache.logging.log4j.core.async.BasicAsyncLoggerContextSelector
-
- All Implemented Interfaces:
ContextSelector
public class BasicAsyncLoggerContextSelector extends java.lang.Object implements ContextSelector
Returns either this Thread's context or the defaultAsyncLoggerContext
. Single-application instances should prefer this implementation over theAsyncLoggerContextSelector
due the the reduced overhead avoiding classloader lookups.
-
-
Field Summary
Fields Modifier and Type Field Description private static AsyncLoggerContext
CONTEXT
-
Fields inherited from interface org.apache.logging.log4j.core.selector.ContextSelector
DEFAULT_STOP_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description BasicAsyncLoggerContextSelector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LoggerContext
getContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)
Returns the LoggerContext.LoggerContext
getContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, java.net.URI configLocation)
Returns the LoggerContext.java.util.List<LoggerContext>
getLoggerContexts()
Returns a List of all the available LoggerContexts.boolean
hasContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)
Checks to see if a LoggerContext is installed.boolean
isClassLoaderDependent()
Determines whether or not this ContextSelector depends on the callers classloader.void
removeContext(LoggerContext context)
Remove any references to the LoggerContext.void
shutdown(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, boolean allContexts)
Shuts down the LoggerContext.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.logging.log4j.core.selector.ContextSelector
getContext, getContext
-
-
-
-
Field Detail
-
CONTEXT
private static final AsyncLoggerContext CONTEXT
-
-
Method Detail
-
shutdown
public void shutdown(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, boolean allContexts)
Description copied from interface:ContextSelector
Shuts down the LoggerContext.- Specified by:
shutdown
in interfaceContextSelector
- Parameters:
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.
-
hasContext
public boolean hasContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)
Description copied from interface:ContextSelector
Checks to see if a LoggerContext is installed. The default implementation returns false.- Specified by:
hasContext
in interfaceContextSelector
- Parameters:
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.- Returns:
- true if a LoggerContext has been installed, false otherwise.
-
getContext
public LoggerContext getContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)
Description copied from interface:ContextSelector
Returns the LoggerContext.- Specified by:
getContext
in interfaceContextSelector
- Parameters:
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.- Returns:
- The LoggerContext.
-
getContext
public LoggerContext getContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, java.net.URI configLocation)
Description copied from interface:ContextSelector
Returns the LoggerContext.- Specified by:
getContext
in interfaceContextSelector
- Parameters:
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.- Returns:
- The LoggerContext.
-
removeContext
public void removeContext(LoggerContext context)
Description copied from interface:ContextSelector
Remove any references to the LoggerContext.- Specified by:
removeContext
in interfaceContextSelector
- Parameters:
context
- The context to remove.
-
isClassLoaderDependent
public boolean isClassLoaderDependent()
Description copied from interface:ContextSelector
Determines whether or not this ContextSelector depends on the callers classloader. This method should be overridden by implementations, however a default method is provided which always returnstrue
to preserve the old behavior.- Specified by:
isClassLoaderDependent
in interfaceContextSelector
- Returns:
- true if the class loader is required.
-
getLoggerContexts
public java.util.List<LoggerContext> getLoggerContexts()
Description copied from interface:ContextSelector
Returns a List of all the available LoggerContexts.- Specified by:
getLoggerContexts
in interfaceContextSelector
- Returns:
- The List of LoggerContexts.
-
-