Class BundleContextSelector

java.lang.Object
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector
org.apache.logging.log4j.core.osgi.BundleContextSelector
All Implemented Interfaces:
ContextSelector, LoggerContextShutdownAware

public class BundleContextSelector extends ClassLoaderContextSelector
ContextSelector for OSGi bundles. This ContextSelector works rather similarly to the ClassLoaderContextSelector, but instead of each ClassLoader having its own LoggerContext (like in a servlet container), each OSGi bundle has its own LoggerContext.
Since:
2.1
  • Constructor Details

    • BundleContextSelector

      public BundleContextSelector()
  • 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
      Overrides:
      shutdown in class ClassLoaderContextSelector
      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
      Overrides:
      hasContext in class ClassLoaderContextSelector
      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, URI configLocation)
      Description copied from interface: ContextSelector
      Returns the LoggerContext.
      Specified by:
      getContext in interface ContextSelector
      Overrides:
      getContext in class ClassLoaderContextSelector
      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.