Package org.apache.logging.log4j.spi
Interface LoggerContextFactory
-
- All Known Implementing Classes:
Log4jContextFactory,SimpleLoggerContextFactory,SLF4JLoggerContextFactory
public interface LoggerContextFactoryImplemented by factories that createLoggerContextobjects.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description LoggerContextgetContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext)Creates aLoggerContext.LoggerContextgetContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, URI configLocation, String name)Creates aLoggerContext.default booleanhasContext(String fqcn, ClassLoader loader, boolean currentContext)Checks to see if a LoggerContext is installed.default booleanisClassLoaderDependent()Determines whether or not this factory and perhaps the underlying ContextSelector behavior depend on the callers classloader.voidremoveContext(LoggerContext context)Removes knowledge of a LoggerContext.default voidshutdown(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts)Shuts down the LoggerContext.
-
-
-
Method Detail
-
shutdown
default void shutdown(String fqcn, 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(String fqcn, 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(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
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 returnstrueto preserve the old behavior.- Since:
- 2.15.0
-
-