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 Static Methods Instance Methods Concrete Methods Modifier and Type Method Description LoggerContextgetContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, java.net.URI configLocation)Returns the LoggerContext.private LoggerContextgetLoggerContext(org.osgi.framework.Bundle bundle)booleanhasContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)Checks to see if a LoggerContext is installed.private static booleanhasContext(org.osgi.framework.Bundle bundle)private static LoggerContextlocateContext(org.osgi.framework.Bundle bundle, java.net.URI configLocation)private voidremoveLoggerContext(LoggerContext context)voidshutdown(java.lang.String fqcn, java.lang.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, getContext, getDefault, getLoggerContexts, isClassLoaderDependent, removeContext, toContextMapKey
-
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
-
-
-
-
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- Overrides:
shutdownin 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.
-
getLoggerContext
private LoggerContext getLoggerContext(org.osgi.framework.Bundle bundle)
-
removeLoggerContext
private void removeLoggerContext(LoggerContext context)
-
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- Overrides:
hasContextin 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(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- Overrides:
getContextin 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.
-
hasContext
private static boolean hasContext(org.osgi.framework.Bundle bundle)
-
locateContext
private static LoggerContext locateContext(org.osgi.framework.Bundle bundle, java.net.URI configLocation)
-
-