org.apache.log

Class Hierarchy

public class Hierarchy extends Object

This class encapsulates a basic independent log hierarchy. The hierarchy is essentially a safe wrapper around root logger.

Author: Avalon Development Team Peter Donald

Nested Class Summary
classHierarchy.InnerErrorHandler
classHierarchy.InnerLoggerListener
Inner class to redirect to hierarchys real LoggerListener if any.
Field Summary
static Hierarchyc_hierarchy
static StringDEFAULT_FORMAT
ErrorHandlerm_errorHandler
LoggerListenerm_loggerListener
Loggerm_rootLogger
Constructor Summary
Hierarchy()
Create a hierarchy object.
Method Summary
voidaddLoggerListener(LoggerListener loggerListener)
Set the LoggerListener associated with hierarchy.
static HierarchygetDefaultHierarchy()
Retrieve the default hierarchy.
LoggergetLoggerFor(String category)
Retrieve a logger for named category.
LoggergetRootLogger()
Utility method to retrieve logger for hierarchy.
voidnotifyLoggerCreated(String category, Logger logger)
Notify logger listener (if any) that a new logger was created.
voidremoveLoggerListener(LoggerListener loggerListener)
Remove the LoggerListener associated with hierarchy.
voidsetDefaultLogTarget(LogTarget target)
Set the default log target for hierarchy.
voidsetDefaultLogTargets(LogTarget[] targets)
Set the default log targets for this hierarchy.
voidsetDefaultPriority(Priority priority)
Set the default priority for hierarchy.
voidsetErrorHandler(ErrorHandler errorHandler)
Set the ErrorHandler associated with hierarchy.

Field Detail

c_hierarchy

private static final Hierarchy c_hierarchy

DEFAULT_FORMAT

public static final String DEFAULT_FORMAT

m_errorHandler

private ErrorHandler m_errorHandler

m_loggerListener

private LoggerListener m_loggerListener

m_rootLogger

private Logger m_rootLogger

Constructor Detail

Hierarchy

public Hierarchy()
Create a hierarchy object. The default LogTarget writes to stdout.

Method Detail

addLoggerListener

public void addLoggerListener(LoggerListener loggerListener)
Set the LoggerListener associated with hierarchy. This is a unicast listener, so only one LoggerListener is allowed.

Parameters: loggerListener the LoggerListener

Throws: UnsupportedOperationException if no more LoggerListeners are permitted.

getDefaultHierarchy

public static Hierarchy getDefaultHierarchy()
Retrieve the default hierarchy.

In most cases the default LogHierarchy is the only one used in an application. However when security is a concern or multiple independent applications will be running in same JVM it is advantageous to create new Hierarchies rather than reuse default.

Returns: the default Hierarchy

getLoggerFor

public Logger getLoggerFor(String category)
Retrieve a logger for named category.

Parameters: category the context

Returns: the Logger

getRootLogger

public final Logger getRootLogger()
Utility method to retrieve logger for hierarchy. This method is intended for use by sub-classes which can take responsibility for manipulating Logger directly.

Returns: the Logger

notifyLoggerCreated

private void notifyLoggerCreated(String category, Logger logger)
Notify logger listener (if any) that a new logger was created.

Parameters: category the category of new logger logger the logger

removeLoggerListener

public void removeLoggerListener(LoggerListener loggerListener)
Remove the LoggerListener associated with hierarchy. Perform this step before adding a new one if you want to change it.

Parameters: loggerListener the LoggerListener

setDefaultLogTarget

public void setDefaultLogTarget(LogTarget target)
Set the default log target for hierarchy. This is the target inherited by loggers if no other target is specified.

Parameters: target the default target

setDefaultLogTargets

public void setDefaultLogTargets(LogTarget[] targets)
Set the default log targets for this hierarchy. These are the targets inherited by loggers if no other targets are specified

Parameters: targets the default targets

setDefaultPriority

public void setDefaultPriority(Priority priority)
Set the default priority for hierarchy. This is the priority inherited by loggers if no other priority is specified.

Parameters: priority the default priority

setErrorHandler

public void setErrorHandler(ErrorHandler errorHandler)
Set the ErrorHandler associated with hierarchy.

Parameters: errorHandler the ErrorHandler