Package org.apache.logging.log4j.spi
Interface LoggerContextFactory
-
public interface LoggerContextFactory
Implemented by factories that createLoggerContext
objects.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description LoggerContext
getContext(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.Object externalContext, boolean currentContext)
Creates aLoggerContext
.LoggerContext
getContext(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.Object externalContext, boolean currentContext, java.net.URI configLocation, java.lang.String name)
Creates aLoggerContext
.default boolean
hasContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)
Checks to see if a LoggerContext is installed.default boolean
isClassLoaderDependent()
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(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, boolean allContexts)
Shuts down the LoggerContext.
-
-
-
Method Detail
-
shutdown
default void shutdown(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext, boolean allContexts)
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
default boolean hasContext(java.lang.String fqcn, java.lang.ClassLoader loader, boolean currentContext)
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(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.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(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.Object externalContext, boolean currentContext, java.net.URI configLocation, java.lang.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
void removeContext(LoggerContext context)
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
-
-