Class BasicAsyncLoggerContextSelector

  • All Implemented Interfaces:
    ContextSelector

    public class BasicAsyncLoggerContextSelector
    extends java.lang.Object
    implements ContextSelector
    Returns either this Thread's context or the default AsyncLoggerContext. Single-application instances should prefer this implementation over the AsyncLoggerContextSelector due the the reduced overhead avoiding classloader lookups.
    • 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
    • Constructor Detail

      • BasicAsyncLoggerContextSelector

        public BasicAsyncLoggerContextSelector()
    • 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 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​(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 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​(java.lang.String fqcn,
                                        java.lang.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​(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 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.
      • 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.