org.apache.logging.log4j
Class LogManager

java.lang.Object
  extended by org.apache.logging.log4j.LogManager

public class LogManager
extends Object

The anchor point for the logging system.


Field Summary
static String FACTORY_PROPERTY_NAME
          Log4j property to set to the fully qualified class name of a custom implementation of LoggerContextFactory.
static String ROOT_LOGGER_NAME
          The name of the root Logger.
 
Constructor Summary
protected LogManager()
          Prevents instantiation
 
Method Summary
static boolean exists(String name)
          Detects if a Logger with the specified name exists.
static LoggerContext getContext()
          Returns the current LoggerContext.
static LoggerContext getContext(boolean currentContext)
          Returns a LoggerContext.
static LoggerContext getContext(ClassLoader loader, boolean currentContext)
          Returns a LoggerContext.
static LoggerContext getContext(ClassLoader loader, boolean currentContext, Object externalContext)
          Returns a LoggerContext.
static LoggerContext getContext(ClassLoader loader, boolean currentContext, Object externalContext, URI configLocation)
          Returns a LoggerContext.
static LoggerContext getContext(ClassLoader loader, boolean currentContext, Object externalContext, URI configLocation, String name)
          Returns a LoggerContext.
static LoggerContext getContext(ClassLoader loader, boolean currentContext, URI configLocation)
          Returns a LoggerContext.
protected static LoggerContext getContext(String fqcn, boolean currentContext)
          Returns a LoggerContext
protected static LoggerContext getContext(String fqcn, ClassLoader loader, boolean currentContext)
          Returns a LoggerContext
static LoggerContextFactory getFactory()
          Returns the current LoggerContextFactory.
static Logger getFormatterLogger(Class<?> clazz)
          Returns a formatter Logger using the fully qualified name of the Class as the Logger name.
static Logger getFormatterLogger(Object value)
          Returns a formatter Logger using the fully qualified name of the value's Class as the Logger name.
static Logger getFormatterLogger(String name)
          Returns a formatter Logger with the specified name.
static Logger getLogger()
          Returns a Logger with the name of the calling class.
static Logger getLogger(Class<?> clazz)
          Returns a Logger using the fully qualified name of the Class as the Logger name.
static Logger getLogger(Class<?> clazz, MessageFactory messageFactory)
          Returns a Logger using the fully qualified name of the Class as the Logger name.
static Logger getLogger(MessageFactory messageFactory)
          Returns a Logger with the name of the calling class.
static Logger getLogger(Object value)
          Returns a Logger using the fully qualified class name of the value as the Logger name.
static Logger getLogger(Object value, MessageFactory messageFactory)
          Returns a Logger using the fully qualified class name of the value as the Logger name.
static Logger getLogger(String name)
          Returns a Logger with the specified name.
static Logger getLogger(String name, MessageFactory messageFactory)
          Returns a Logger with the specified name.
protected static Logger getLogger(String fqcn, String name)
          Returns a Logger with the specified name.
static Logger getRootLogger()
          Returns the root logger.
static void setFactory(LoggerContextFactory factory)
          Sets the current LoggerContextFactory to use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FACTORY_PROPERTY_NAME

public static final String FACTORY_PROPERTY_NAME
Log4j property to set to the fully qualified class name of a custom implementation of LoggerContextFactory.

See Also:
Constant Field Values

ROOT_LOGGER_NAME

public static final String ROOT_LOGGER_NAME
The name of the root Logger.

See Also:
Constant Field Values
Constructor Detail

LogManager

protected LogManager()
Prevents instantiation

Method Detail

exists

public static boolean exists(String name)
Detects if a Logger with the specified name exists. This is a convenience method for porting from version 1.

Parameters:
name - The Logger name to search for.
Returns:
true if the Logger exists, false otherwise.
See Also:
LoggerContext.hasLogger(String)

getContext

public static LoggerContext getContext()
Returns the current LoggerContext.

WARNING - The LoggerContext returned by this method may not be the LoggerContext used to create a Logger for the calling class.

Returns:
The current LoggerContext.

getContext

public static LoggerContext getContext(boolean currentContext)
Returns a LoggerContext.

Parameters:
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
Returns:
a LoggerContext.

getContext

public static LoggerContext getContext(ClassLoader loader,
                                       boolean currentContext)
Returns a LoggerContext.

Parameters:
loader - The ClassLoader for the context. If null the context will attempt to determine the appropriate ClassLoader.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
Returns:
a LoggerContext.

getContext

public static LoggerContext getContext(ClassLoader loader,
                                       boolean currentContext,
                                       Object externalContext)
Returns a LoggerContext.

Parameters:
loader - The ClassLoader for the context. If null the context will attempt to determine the appropriate ClassLoader.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
externalContext - An external context (such as a ServletContext) to be associated with the LoggerContext.
Returns:
a LoggerContext.

getContext

public static LoggerContext getContext(ClassLoader loader,
                                       boolean currentContext,
                                       URI configLocation)
Returns a LoggerContext.

Parameters:
loader - The ClassLoader for the context. If null the context will attempt to determine the appropriate ClassLoader.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
configLocation - The URI for the configuration to use.
Returns:
a LoggerContext.

getContext

public static LoggerContext getContext(ClassLoader loader,
                                       boolean currentContext,
                                       Object externalContext,
                                       URI configLocation)
Returns a LoggerContext.

Parameters:
loader - The ClassLoader for the context. If null the context will attempt to determine the appropriate ClassLoader.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
externalContext - An external context (such as a ServletContext) to be associated with the LoggerContext.
configLocation - The URI for the configuration to use.
Returns:
a LoggerContext.

getContext

public static LoggerContext getContext(ClassLoader loader,
                                       boolean currentContext,
                                       Object externalContext,
                                       URI configLocation,
                                       String name)
Returns a LoggerContext.

Parameters:
loader - The ClassLoader for the context. If null the context will attempt to determine the appropriate ClassLoader.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
externalContext - An external context (such as a ServletContext) to be associated with the LoggerContext.
configLocation - The URI for the configuration to use.
name - The LoggerContext name.
Returns:
a LoggerContext.

getContext

protected static LoggerContext getContext(String fqcn,
                                          boolean currentContext)
Returns a LoggerContext

Parameters:
fqcn - The fully qualified class name of the Class that this method is a member of.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
Returns:
a LoggerContext.

getContext

protected static LoggerContext getContext(String fqcn,
                                          ClassLoader loader,
                                          boolean currentContext)
Returns a LoggerContext

Parameters:
fqcn - The fully qualified class name of the Class that this method is a member of.
loader - The ClassLoader for the context. If null the context will attempt to determine the appropriate ClassLoader.
currentContext - if false the LoggerContext appropriate for the caller of this method is returned. For example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be returned and if the caller is a class in the container's classpath then a different LoggerContext may be returned. If true then only a single LoggerContext will be returned.
Returns:
a LoggerContext.

getFactory

public static LoggerContextFactory getFactory()
Returns the current LoggerContextFactory.

Returns:
The LoggerContextFactory.

setFactory

public static void setFactory(LoggerContextFactory factory)
Sets the current LoggerContextFactory to use. Normally, the appropriate LoggerContextFactory is created at startup, but in certain environments, a LoggerContextFactory implementation may not be available at this point. Thus, an alternative LoggerContextFactory can be set at runtime.

Note that any Logger or LoggerContext objects already created will still be valid, but they will no longer be accessible through LogManager. Thus, it is a bad idea to use this method without a good reason! Generally, this method should be used only during startup before any code starts caching Logger objects.

Parameters:
factory - the LoggerContextFactory to use.

getFormatterLogger

public static Logger getFormatterLogger(Class<?> clazz)
Returns a formatter Logger using the fully qualified name of the Class as the Logger name.

This logger let you use a Formatter string in the message to format parameters.

Short-hand for getLogger(clazz, StringFormatterMessageFactory.INSTANCE)

Parameters:
clazz - The Class whose name should be used as the Logger name.
Returns:
The Logger, created with a StringFormatterMessageFactory
See Also:
Logger.fatal(Marker, String, Object...), Logger.fatal(String, Object...), Logger.error(Marker, String, Object...), Logger.error(String, Object...), Logger.warn(Marker, String, Object...), Logger.warn(String, Object...), Logger.info(Marker, String, Object...), Logger.info(String, Object...), Logger.debug(Marker, String, Object...), Logger.debug(String, Object...), Logger.trace(Marker, String, Object...), Logger.trace(String, Object...), StringFormatterMessageFactory

getFormatterLogger

public static Logger getFormatterLogger(Object value)
Returns a formatter Logger using the fully qualified name of the value's Class as the Logger name.

This logger let you use a Formatter string in the message to format parameters.

Short-hand for getLogger(value, StringFormatterMessageFactory.INSTANCE)

Parameters:
value - The value's whose class name should be used as the Logger name.
Returns:
The Logger, created with a StringFormatterMessageFactory
See Also:
Logger.fatal(Marker, String, Object...), Logger.fatal(String, Object...), Logger.error(Marker, String, Object...), Logger.error(String, Object...), Logger.warn(Marker, String, Object...), Logger.warn(String, Object...), Logger.info(Marker, String, Object...), Logger.info(String, Object...), Logger.debug(Marker, String, Object...), Logger.debug(String, Object...), Logger.trace(Marker, String, Object...), Logger.trace(String, Object...), StringFormatterMessageFactory

getFormatterLogger

public static Logger getFormatterLogger(String name)
Returns a formatter Logger with the specified name.

This logger let you use a Formatter string in the message to format parameters.

Short-hand for getLogger(name, StringFormatterMessageFactory.INSTANCE)

Parameters:
name - The logger name. If null it will default to the name of the calling class.
Returns:
The Logger, created with a StringFormatterMessageFactory
See Also:
Logger.fatal(Marker, String, Object...), Logger.fatal(String, Object...), Logger.error(Marker, String, Object...), Logger.error(String, Object...), Logger.warn(Marker, String, Object...), Logger.warn(String, Object...), Logger.info(Marker, String, Object...), Logger.info(String, Object...), Logger.debug(Marker, String, Object...), Logger.debug(String, Object...), Logger.trace(Marker, String, Object...), Logger.trace(String, Object...), StringFormatterMessageFactory

getLogger

public static Logger getLogger()
Returns a Logger with the name of the calling class.

Returns:
The Logger for the calling class.

getLogger

public static Logger getLogger(Class<?> clazz)
Returns a Logger using the fully qualified name of the Class as the Logger name.

Parameters:
clazz - The Class whose name should be used as the Logger name. If null it will default to the calling class.
Returns:
The Logger.

getLogger

public static Logger getLogger(Class<?> clazz,
                               MessageFactory messageFactory)
Returns a Logger using the fully qualified name of the Class as the Logger name.

Parameters:
clazz - The Class whose name should be used as the Logger name. If null it will default to the calling class.
messageFactory - The message factory is used only when creating a logger, subsequent use does not change the logger but will log a warning if mismatched.
Returns:
The Logger.

getLogger

public static Logger getLogger(MessageFactory messageFactory)
Returns a Logger with the name of the calling class.

Parameters:
messageFactory - The message factory is used only when creating a logger, subsequent use does not change the logger but will log a warning if mismatched.
Returns:
The Logger for the calling class.

getLogger

public static Logger getLogger(Object value)
Returns a Logger using the fully qualified class name of the value as the Logger name.

Parameters:
value - The value whose class name should be used as the Logger name. If null the name of the calling class will be used as the logger name.
Returns:
The Logger.

getLogger

public static Logger getLogger(Object value,
                               MessageFactory messageFactory)
Returns a Logger using the fully qualified class name of the value as the Logger name.

Parameters:
value - The value whose class name should be used as the Logger name. If null the name of the calling class will be used as the logger name.
messageFactory - The message factory is used only when creating a logger, subsequent use does not change the logger but will log a warning if mismatched.
Returns:
The Logger.

getLogger

public static Logger getLogger(String name)
Returns a Logger with the specified name.

Parameters:
name - The logger name. If null the name of the calling class will be used.
Returns:
The Logger.

getLogger

public static Logger getLogger(String name,
                               MessageFactory messageFactory)
Returns a Logger with the specified name.

Parameters:
name - The logger name. If null the name of the calling class will be used.
messageFactory - The message factory is used only when creating a logger, subsequent use does not change the logger but will log a warning if mismatched.
Returns:
The Logger.

getLogger

protected static Logger getLogger(String fqcn,
                                  String name)
Returns a Logger with the specified name.

Parameters:
fqcn - The fully qualified class name of the class that this method is a member of.
name - The logger name.
Returns:
The Logger.

getRootLogger

public static Logger getRootLogger()
Returns the root logger.

Returns:
the root logger, named ROOT_LOGGER_NAME.


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.