public class Log4jContextFactory extends java.lang.Object implements LoggerContextFactory, ShutdownCallbackRegistry
Modifier and Type | Field and Description |
---|---|
private static StatusLogger |
LOGGER |
private ContextSelector |
selector |
private static boolean |
SHUTDOWN_HOOK_ENABLED |
private ShutdownCallbackRegistry |
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(java.lang.Runnable callback)
Adds a Runnable shutdown callback to this class.
|
private static ContextSelector |
createContextSelector() |
private static ShutdownCallbackRegistry |
createShutdownCallbackRegistry() |
LoggerContext |
getContext(java.lang.String fqcn,
java.lang.ClassLoader loader,
java.lang.Object externalContext,
boolean currentContext)
Loads the LoggerContext using the ContextSelector.
|
LoggerContext |
getContext(java.lang.String fqcn,
java.lang.ClassLoader loader,
java.lang.Object externalContext,
boolean currentContext,
Configuration configuration)
Loads the LoggerContext using the ContextSelector using the provided Configuration
|
LoggerContext |
getContext(java.lang.String fqcn,
java.lang.ClassLoader loader,
java.lang.Object externalContext,
boolean currentContext,
ConfigurationSource source)
Loads the LoggerContext using the ContextSelector.
|
LoggerContext |
getContext(java.lang.String fqcn,
java.lang.ClassLoader loader,
java.lang.Object externalContext,
boolean currentContext,
java.util.List<java.net.URI> configLocations,
java.lang.String name) |
LoggerContext |
getContext(java.lang.String fqcn,
java.lang.ClassLoader loader,
java.lang.Object externalContext,
boolean currentContext,
java.net.URI configLocation,
java.lang.String name)
Loads the LoggerContext using the ContextSelector.
|
ContextSelector |
getSelector()
Returns the ContextSelector.
|
ShutdownCallbackRegistry |
getShutdownCallbackRegistry()
Returns the ShutdownCallbackRegistry
|
private void |
initializeShutdownCallbackRegistry() |
boolean |
isShutdownHookEnabled() |
void |
removeContext(LoggerContext context)
Removes knowledge of a LoggerContext.
|
private static final StatusLogger LOGGER
private static final boolean SHUTDOWN_HOOK_ENABLED
private final ContextSelector selector
private final ShutdownCallbackRegistry shutdownCallbackRegistry
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 useprivate static ContextSelector createContextSelector()
private static ShutdownCallbackRegistry createShutdownCallbackRegistry()
private void initializeShutdownCallbackRegistry()
public LoggerContext getContext(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.Object externalContext, boolean currentContext)
getContext
in interface 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(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.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(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.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(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.Object externalContext, boolean currentContext, java.net.URI configLocation, java.lang.String name)
getContext
in interface 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).name
- The name of the context or null.public LoggerContext getContext(java.lang.String fqcn, java.lang.ClassLoader loader, java.lang.Object externalContext, boolean currentContext, java.util.List<java.net.URI> configLocations, java.lang.String name)
public ContextSelector getSelector()
public ShutdownCallbackRegistry getShutdownCallbackRegistry()
public void removeContext(LoggerContext context)
removeContext
in interface LoggerContextFactory
context
- The context to remove.public Cancellable addShutdownCallback(java.lang.Runnable callback)
ShutdownCallbackRegistry
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()