Package org.apache.log
Class Hierarchy
- java.lang.Object
-
- org.apache.log.Hierarchy
-
public class Hierarchy extends java.lang.ObjectThis 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 classHierarchy.InnerErrorHandlerprivate classHierarchy.InnerLoggerListenerInner class to redirect to hierarchys real LoggerListener if any.
-
Field Summary
Fields Modifier and Type Field Description private static Hierarchyc_hierarchystatic java.lang.StringDEFAULT_FORMATprivate ErrorHandlerm_errorHandlerprivate LoggerListenerm_loggerListenerprivate Loggerm_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 voidaddLoggerListener(LoggerListener loggerListener)Set the LoggerListener associated with hierarchy.static HierarchygetDefaultHierarchy()Retrieve the default hierarchy.LoggergetLoggerFor(java.lang.String category)Retrieve a logger for named category.LoggergetRootLogger()Utility method to retrieve logger for hierarchy.private voidnotifyLoggerCreated(java.lang.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
-
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
-
-