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 theAsyncLoggerContextSelectordue to the reduced overhead avoiding classloader lookups.
-
-
Field Summary
Fields Modifier and Type Field Description private static AsyncLoggerContextCONTEXT-
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 LoggerContextgetContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)Returns the LoggerContext.LoggerContextgetContext(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.booleanhasContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)Checks to see if a LoggerContext is installed.booleanisClassLoaderDependent()Determines whether or not this ContextSelector depends on the callers classloader.voidremoveContext(LoggerContext context)Remove any references to the LoggerContext.voidshutdown(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:ContextSelectorShuts down the LoggerContext.- Specified by:
shutdownin 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:ContextSelectorChecks to see if a LoggerContext is installed. The default implementation returns false.- Specified by:
hasContextin 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:ContextSelectorReturns the LoggerContext.- Specified by:
getContextin 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:ContextSelectorReturns the LoggerContext.- Specified by:
getContextin 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:ContextSelectorRemove any references to the LoggerContext.- Specified by:
removeContextin interfaceContextSelector- Parameters:
context- The context to remove.
-
isClassLoaderDependent
public boolean isClassLoaderDependent()
Description copied from interface:ContextSelectorDetermines 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 returnstrueto preserve the old behavior.- Specified by:
isClassLoaderDependentin interfaceContextSelector- Returns:
- true if the class loader is required.
-
getLoggerContexts
public java.util.List<LoggerContext> getLoggerContexts()
Description copied from interface:ContextSelectorReturns a List of all the available LoggerContexts.- Specified by:
getLoggerContextsin interfaceContextSelector- Returns:
- The List of LoggerContexts.
-
-