Package org.apache.logging.log4j.spi
Interface LoggerContextFactory
- All Known Implementing Classes:
SimpleLoggerContextFactory
public interface LoggerContextFactory
Implemented by factories that create
LoggerContext
objects.-
Method Summary
Modifier and TypeMethodDescriptiongetContext
(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext) Creates aLoggerContext
.getContext
(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, URI configLocation, String name) Creates aLoggerContext
.default boolean
hasContext
(String fqcn, ClassLoader loader, boolean currentContext) Checks to see if a LoggerContext is installed.default boolean
Determines whether or not this factory and perhaps the underlying ContextSelector behavior depend on the callers classloader.void
removeContext
(LoggerContext context) Removes knowledge of a LoggerContext.default void
shutdown
(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts) Shuts down the LoggerContext.
-
Method Details
-
shutdown
Shuts down the LoggerContext.- Parameters:
fqcn
- The fully qualified class name of the caller.loader
- The ClassLoader to use or null.currentContext
- If true shuts down the current Context, if false shuts down the Context appropriate for the caller if a more appropriate Context can be determined.allContexts
- if true all LoggerContexts that can be located will be shutdown.- Since:
- 2.13.0
-
hasContext
Checks to see if a LoggerContext is installed. The default implementation returns false.- 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.
- Since:
- 2.13.0
-
getContext
LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext) Creates aLoggerContext
.- 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.externalContext
- An external context (such as a ServletContext) to be associated with the LoggerContext.- Returns:
- The LoggerContext.
-
getContext
LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, URI configLocation, String name) Creates aLoggerContext
.- 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.configLocation
- The location of the configuration for the LoggerContext.externalContext
- An external context (such as a ServletContext) to be associated with the LoggerContext.name
- The name of the context or null.- Returns:
- The LoggerContext.
-
removeContext
Removes knowledge of a LoggerContext.- Parameters:
context
- The context to remove.
-
isClassLoaderDependent
default boolean isClassLoaderDependent()Determines whether or not this factory and perhaps the underlying ContextSelector behavior depend on the callers classloader. This method should be overridden by implementations, however a default method is provided which always returnstrue
to preserve the old behavior.- Since:
- 2.15.0
-