Class BasicAsyncLoggerContextSelector

java.lang.Object
org.apache.logging.log4j.core.async.BasicAsyncLoggerContextSelector
All Implemented Interfaces:
ContextSelector

public class BasicAsyncLoggerContextSelector extends Object implements ContextSelector
Returns either this Thread's context or the default AsyncLoggerContext. Single-application instances should prefer this implementation over the AsyncLoggerContextSelector due to the reduced overhead avoiding classloader lookups.
  • Constructor Details

    • BasicAsyncLoggerContextSelector

      public BasicAsyncLoggerContextSelector()
  • Method Details

    • shutdown

      public void shutdown(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts)
      Description copied from interface: ContextSelector
      Shuts down the LoggerContext.
      Specified by:
      shutdown in interface ContextSelector
      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
      allContexts - if true all LoggerContexts that can be located will be shutdown.
    • hasContext

      public boolean hasContext(String fqcn, 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 interface ContextSelector
      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(String fqcn, ClassLoader loader, boolean currentContext)
      Description copied from interface: ContextSelector
      Returns the LoggerContext.
      Specified by:
      getContext in interface ContextSelector
      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(String fqcn, ClassLoader loader, boolean currentContext, URI configLocation)
      Description copied from interface: ContextSelector
      Returns the LoggerContext.
      Specified by:
      getContext in interface ContextSelector
      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 interface ContextSelector
      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 returns true to preserve the old behavior.
      Specified by:
      isClassLoaderDependent in interface ContextSelector
      Returns:
      true if the class loader is required.
    • getLoggerContexts

      public List<LoggerContext> getLoggerContexts()
      Description copied from interface: ContextSelector
      Returns a List of all the available LoggerContexts.
      Specified by:
      getLoggerContexts in interface ContextSelector
      Returns:
      The List of LoggerContexts.