org.apache.logging.log4j.core.impl
Class Log4jContextFactory

java.lang.Object
  extended by org.apache.logging.log4j.core.impl.Log4jContextFactory
All Implemented Interfaces:
ShutdownCallbackRegistry, org.apache.logging.log4j.spi.LoggerContextFactory

public class Log4jContextFactory
extends Object
implements org.apache.logging.log4j.spi.LoggerContextFactory, ShutdownCallbackRegistry

Factory to locate a ContextSelector and then load a LoggerContext.


Field Summary
 
Fields inherited from interface org.apache.logging.log4j.core.util.ShutdownCallbackRegistry
SHUTDOWN_CALLBACK_REGISTRY, SHUTDOWN_HOOK_MARKER
 
Constructor Summary
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.
 
Method Summary
 Cancellable addShutdownCallback(Runnable callback)
          Adds a Runnable shutdown callback to this class.
 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, ConfigurationSource source)
          Loads the LoggerContext using the ContextSelector.
 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.
 void removeContext(org.apache.logging.log4j.spi.LoggerContext context)
          Removes knowledge of a LoggerContext.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Log4jContextFactory

public Log4jContextFactory()
Initializes the ContextSelector from system property Constants.LOG4J_CONTEXT_SELECTOR.


Log4jContextFactory

public Log4jContextFactory(ContextSelector selector)
Initializes this factory's ContextSelector with the specified selector.

Parameters:
selector - the selector to use

Log4jContextFactory

public Log4jContextFactory(ShutdownCallbackRegistry shutdownCallbackRegistry)
Constructs a Log4jContextFactory using the ContextSelector from Constants.LOG4J_CONTEXT_SELECTOR and the provided ShutdownRegistrationStrategy.

Parameters:
shutdownCallbackRegistry - the ShutdownRegistrationStrategy to use
Since:
2.1

Log4jContextFactory

public Log4jContextFactory(ContextSelector selector,
                           ShutdownCallbackRegistry shutdownCallbackRegistry)
Constructs a Log4jContextFactory using the provided ContextSelector and ShutdownRegistrationStrategy.

Parameters:
selector - the selector to use
shutdownCallbackRegistry - the ShutdownRegistrationStrategy to use
Since:
2.1
Method Detail

getContext

public LoggerContext getContext(String fqcn,
                                ClassLoader loader,
                                Object externalContext,
                                boolean currentContext)
Loads the LoggerContext using the ContextSelector.

Specified by:
getContext in interface org.apache.logging.log4j.spi.LoggerContextFactory
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

public LoggerContext getContext(String fqcn,
                                ClassLoader loader,
                                Object externalContext,
                                boolean currentContext,
                                ConfigurationSource source)
Loads the LoggerContext using the ContextSelector.

Parameters:
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.
Returns:
The LoggerContext.

getContext

public LoggerContext getContext(String fqcn,
                                ClassLoader loader,
                                Object externalContext,
                                boolean currentContext,
                                URI configLocation,
                                String name)
Loads the LoggerContext using the ContextSelector.

Specified by:
getContext in interface org.apache.logging.log4j.spi.LoggerContextFactory
Parameters:
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.
Returns:
The LoggerContext.

getSelector

public ContextSelector getSelector()
Returns the ContextSelector.

Returns:
The ContextSelector.

removeContext

public void removeContext(org.apache.logging.log4j.spi.LoggerContext context)
Removes knowledge of a LoggerContext.

Specified by:
removeContext in interface org.apache.logging.log4j.spi.LoggerContextFactory
Parameters:
context - The context to remove.

addShutdownCallback

public Cancellable addShutdownCallback(Runnable callback)
Description copied from interface: ShutdownCallbackRegistry
Adds a Runnable shutdown callback to this class.

Specified by:
addShutdownCallback in interface ShutdownCallbackRegistry
Parameters:
callback - the shutdown callback to be executed upon shutdown.
Returns:
a Cancellable wrapper of the provided callback or null if the shutdown hook is disabled and cannot be added.


Copyright © 1999-2014 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.