Package org.apache.log
Class Hierarchy
- java.lang.Object
-
- org.apache.log.Hierarchy
-
public class Hierarchy extends java.lang.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
Nested Classes Modifier and Type Class Description private class
Hierarchy.InnerErrorHandler
private class
Hierarchy.InnerLoggerListener
Inner class to redirect to hierarchys real LoggerListener if any.
-
Field Summary
Fields Modifier and Type Field Description private static Hierarchy
c_hierarchy
static java.lang.String
DEFAULT_FORMAT
private ErrorHandler
m_errorHandler
private LoggerListener
m_loggerListener
private Logger
m_rootLogger
-
Constructor Summary
Constructors Constructor Description Hierarchy()
Create a hierarchy object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLoggerListener(LoggerListener loggerListener)
Set the LoggerListener associated with hierarchy.static Hierarchy
getDefaultHierarchy()
Retrieve the default hierarchy.Logger
getLoggerFor(java.lang.String category)
Retrieve a logger for named category.Logger
getRootLogger()
Utility method to retrieve logger for hierarchy.private void
notifyLoggerCreated(java.lang.String category, Logger logger)
Notify logger listener (if any) that a new logger was created.void
removeLoggerListener(LoggerListener loggerListener)
Remove the LoggerListener associated with hierarchy.void
setDefaultLogTarget(LogTarget target)
Set the default log target for hierarchy.void
setDefaultLogTargets(LogTarget[] targets)
Set the default log targets for this hierarchy.void
setDefaultPriority(Priority priority)
Set the default priority for hierarchy.void
setErrorHandler(ErrorHandler errorHandler)
Set the ErrorHandler associated with hierarchy.
-
-
-
Field Detail
-
DEFAULT_FORMAT
public static final java.lang.String DEFAULT_FORMAT
- See Also:
- Constant Field Values
-
c_hierarchy
private static final Hierarchy c_hierarchy
-
m_errorHandler
private ErrorHandler m_errorHandler
-
m_rootLogger
private Logger m_rootLogger
-
m_loggerListener
private LoggerListener m_loggerListener
-
-
Method Detail
-
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
-
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
-
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:
java.lang.UnsupportedOperationException
- if no more LoggerListeners are permitted.
-
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
-
getLoggerFor
public Logger getLoggerFor(java.lang.String category)
Retrieve a logger for named category.- Parameters:
category
- the context- Returns:
- the Logger
-
notifyLoggerCreated
private void notifyLoggerCreated(java.lang.String category, Logger logger)
Notify logger listener (if any) that a new logger was created.- Parameters:
category
- the category of new loggerlogger
- 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
-
-