public class Log4jContextFactory extends Object implements org.apache.logging.log4j.spi.LoggerContextFactory, ShutdownCallbackRegistry
SHUTDOWN_CALLBACK_REGISTRY, SHUTDOWN_HOOK_MARKER
Constructor and Description |
---|
Log4jContextFactory()
Initializes the ContextSelector from system property
Constants.LOG4J_CONTEXT_SELECTOR . |
Log4jContextFactory(ContextSelector selector)
Initializes this factory's ContextSelector with the specified selector.
|
Log4jContextFactory(ContextSelector selector,
ShutdownCallbackRegistry shutdownCallbackRegistry)
Constructs a Log4jContextFactory using the provided ContextSelector and ShutdownRegistrationStrategy.
|
Log4jContextFactory(ShutdownCallbackRegistry shutdownCallbackRegistry)
Constructs a Log4jContextFactory using the ContextSelector from
Constants.LOG4J_CONTEXT_SELECTOR
and the provided ShutdownRegistrationStrategy. |
Modifier and Type | Method and Description |
---|---|
Cancellable |
addShutdownCallback(Runnable callback)
Adds a Runnable shutdown callback to this class.
|
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Map.Entry<String,Object> entry,
boolean currentContext,
URI configLocation,
String name) |
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Object externalContext,
boolean currentContext)
Loads the LoggerContext using the ContextSelector.
|
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Object externalContext,
boolean currentContext,
Configuration configuration)
Loads the LoggerContext using the ContextSelector using the provided Configuration
|
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Object externalContext,
boolean currentContext,
ConfigurationSource source)
Loads the LoggerContext using the ContextSelector.
|
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Object externalContext,
boolean currentContext,
List<URI> configLocations,
String name) |
LoggerContext |
getContext(String fqcn,
ClassLoader loader,
Object externalContext,
boolean currentContext,
URI configLocation,
String name)
Loads the LoggerContext using the ContextSelector.
|
ContextSelector |
getSelector()
Returns the ContextSelector.
|
ShutdownCallbackRegistry |
getShutdownCallbackRegistry()
Returns the ShutdownCallbackRegistry
|
boolean |
hasContext(String fqcn,
ClassLoader loader,
boolean currentContext)
Checks to see if a LoggerContext is installed.
|
boolean |
isShutdownHookEnabled() |
void |
removeContext(org.apache.logging.log4j.spi.LoggerContext context)
Removes knowledge of a LoggerContext.
|
void |
shutdown(String fqcn,
ClassLoader loader,
boolean currentContext,
boolean allContexts) |
public Log4jContextFactory()
Constants.LOG4J_CONTEXT_SELECTOR
.public Log4jContextFactory(ContextSelector selector)
selector
- the selector to usepublic Log4jContextFactory(ShutdownCallbackRegistry shutdownCallbackRegistry)
Constants.LOG4J_CONTEXT_SELECTOR
and the provided ShutdownRegistrationStrategy.shutdownCallbackRegistry
- the ShutdownRegistrationStrategy to usepublic Log4jContextFactory(ContextSelector selector, ShutdownCallbackRegistry shutdownCallbackRegistry)
selector
- the selector to useshutdownCallbackRegistry
- the ShutdownRegistrationStrategy to usepublic LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext)
getContext
in interface org.apache.logging.log4j.spi.LoggerContextFactory
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.public LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, ConfigurationSource source)
fqcn
- The fully qualified class name of the caller.loader
- The ClassLoader to use or null.externalContext
- An external context (such as a ServletContext) to be associated with the LoggerContext.currentContext
- If true returns the current Context, if false returns the Context appropriate
for the caller if a more appropriate Context can be determined.source
- The configuration source.public LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, Configuration configuration)
fqcn
- The fully qualified class name of the caller.loader
- The ClassLoader to use or null.externalContext
- An external context (such as a ServletContext) to be associated with the LoggerContext.currentContext
- If true returns the current Context, if false returns the Context appropriate
for the caller if a more appropriate Context can be determined.configuration
- The Configuration.public LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, URI configLocation, String name)
getContext
in interface org.apache.logging.log4j.spi.LoggerContextFactory
fqcn
- The fully qualified class name of the caller.loader
- The ClassLoader to use or null.externalContext
- An external context (such as a ServletContext) to be associated with the LoggerContext.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 (or null).public LoggerContext getContext(String fqcn, ClassLoader loader, Map.Entry<String,Object> entry, boolean currentContext, URI configLocation, String name)
public LoggerContext getContext(String fqcn, ClassLoader loader, Object externalContext, boolean currentContext, List<URI> configLocations, String name)
public void shutdown(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts)
shutdown
in interface org.apache.logging.log4j.spi.LoggerContextFactory
public boolean hasContext(String fqcn, ClassLoader loader, boolean currentContext)
hasContext
in interface org.apache.logging.log4j.spi.LoggerContextFactory
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.public ContextSelector getSelector()
public ShutdownCallbackRegistry getShutdownCallbackRegistry()
public void removeContext(org.apache.logging.log4j.spi.LoggerContext context)
removeContext
in interface org.apache.logging.log4j.spi.LoggerContextFactory
context
- The context to remove.public Cancellable addShutdownCallback(Runnable callback)
ShutdownCallbackRegistry
Cancellable
must be retained on heap by caller
to avoid premature garbage-collection of the registered callback (and to ensure
the callback runs on shutdown).addShutdownCallback
in interface ShutdownCallbackRegistry
callback
- the shutdown callback to be executed upon shutdown.null
if the shutdown hook is disabled and
cannot be added.public boolean isShutdownHookEnabled()
Copyright © 1999-2021 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.