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 theClassLoaderContextSelector
, but instead of each ClassLoader having its own LoggerContext (like in a servlet container), each OSGi bundle has its own LoggerContext.- Since:
- 2.1
-
-
Field Summary
-
Fields inherited from class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector
CONTEXT_MAP, LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.selector.ContextSelector
DEFAULT_STOP_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description BundleContextSelector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LoggerContext
getContext(String fqcn, ClassLoader loader, boolean currentContext, URI configLocation)
Returns the LoggerContext.boolean
hasContext(String fqcn, ClassLoader loader, boolean currentContext)
Checks to see if a LoggerContext is installed.void
shutdown(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts)
Shuts down the LoggerContext.-
Methods inherited from class org.apache.logging.log4j.core.selector.ClassLoaderContextSelector
contextShutdown, createContext, defaultContextName, getContext, getDefault, getLoggerContexts, removeContext, toContextMapKey
-
-
-
-
Method Detail
-
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 interfaceContextSelector
- Overrides:
shutdown
in classClassLoaderContextSelector
- 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(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 interfaceContextSelector
- Overrides:
hasContext
in classClassLoaderContextSelector
- 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 interfaceContextSelector
- Overrides:
getContext
in classClassLoaderContextSelector
- 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.
-
-