Hierarchy ClassApache log4net™ SDK Documentation
Hierarchical organization of loggers
Inheritance Hierarchy

SystemObject
  log4net.RepositoryLoggerRepositorySkeleton
    log4net.Repository.HierarchyHierarchy

Namespace: log4net.Repository.Hierarchy
Assembly: log4net (in log4net.dll) Version: 2.0.8.0-.NET 4.0
Syntax

public class Hierarchy : LoggerRepositorySkeleton, IBasicRepositoryConfigurator, 
	IXmlRepositoryConfigurator

The Hierarchy type exposes the following members.

Constructors

  NameDescription
Public methodHierarchy
Default constructor
Public methodHierarchy(ILoggerFactory)
Construct with a logger factory
Public methodHierarchy(PropertiesDictionary)
Construct with properties
Public methodHierarchy(PropertiesDictionary, ILoggerFactory)
Construct with properties and a logger factory
Top
Properties

  NameDescription
Public propertyConfigurationMessages
Contains a list of internal messages captures during the last configuration.
(Inherited from LoggerRepositorySkeleton.)
Public propertyConfigured
Flag indicates if this repository has been configured.
(Inherited from LoggerRepositorySkeleton.)
Public propertyEmittedNoAppenderWarning
Has no appender warning been emitted
Public propertyLevelMap
Get the level map for the Repository.
(Inherited from LoggerRepositorySkeleton.)
Public propertyLoggerFactory
Gets or sets the default ILoggerFactory instance.
Public propertyName
The name of the repository
(Inherited from LoggerRepositorySkeleton.)
Public propertyPluginMap
The plugin map for this repository.
(Inherited from LoggerRepositorySkeleton.)
Public propertyProperties
Repository specific properties
(Inherited from LoggerRepositorySkeleton.)
Public propertyRendererMap
RendererMap accesses the object renderer map for this repository.
(Inherited from LoggerRepositorySkeleton.)
Public propertyRoot
Get the root of this hierarchy
Public propertyThreshold
The threshold for all events in this repository
(Inherited from LoggerRepositorySkeleton.)
Top
Methods

  NameDescription
Public methodAddRenderer
Adds an object renderer for a specific class.
(Inherited from LoggerRepositorySkeleton.)
Protected methodBasicRepositoryConfigure
Initialize the log4net system using the specified appenders
Public methodClear
Clear all logger definitions from the internal hashtable
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodExists
Test if a logger exists
(Overrides LoggerRepositorySkeletonExists(String).)
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFlush
Flushes all configured Appenders that implement IFlushable.
(Inherited from LoggerRepositorySkeleton.)
Public methodGetAppenders
Returns all the Appenders that are currently configured
(Overrides LoggerRepositorySkeletonGetAppenders.)
Public methodGetCurrentLoggers
Returns all the currently defined loggers in the hierarchy as an Array
(Overrides LoggerRepositorySkeletonGetCurrentLoggers.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetLogger(String)
Return a new logger instance named as the first parameter using the default factory.
(Overrides LoggerRepositorySkeletonGetLogger(String).)
Public methodGetLogger(String, ILoggerFactory)
Return a new logger instance named as the first parameter using factory.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsDisabled
Test if this hierarchy is disabled for the specified Level.
Public methodLog
Log the logEvent through this hierarchy.
(Overrides LoggerRepositorySkeletonLog(LoggingEvent).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnConfigurationChanged
Notify the registered listeners that the repository has had its configuration changed
(Inherited from LoggerRepositorySkeleton.)
Protected methodOnConfigurationReset
Notify the registered listeners that the repository has had its configuration reset
(Inherited from LoggerRepositorySkeleton.)
Protected methodOnLoggerCreationEvent
Sends a logger creation event to all registered listeners
Protected methodOnShutdown
Notify the registered listeners that the repository is shutting down
(Inherited from LoggerRepositorySkeleton.)
Public methodRaiseConfigurationChanged
Raise a configuration changed event on this repository
(Inherited from LoggerRepositorySkeleton.)
Public methodResetConfiguration
Reset all values contained in this hierarchy instance to their default.
(Overrides LoggerRepositorySkeletonResetConfiguration.)
Public methodShutdown
Shutting down a hierarchy will safely close and remove all appenders in all loggers including the root logger.
(Overrides LoggerRepositorySkeletonShutdown.)
Public methodToString
Returns a String that represents the current Object.
(Inherited from Object.)
Protected methodXmlRepositoryConfigure
Initialize the log4net system using the specified config
Top
Events

  NameDescription
Public eventConfigurationChanged
Event to notify that the repository has had its configuration changed.
(Inherited from LoggerRepositorySkeleton.)
Public eventConfigurationReset
Event to notify that the repository has had its configuration reset.
(Inherited from LoggerRepositorySkeleton.)
Public eventLoggerCreatedEvent
Event used to notify that a logger has been created.
Public eventShutdownEvent
Event to notify that the repository has been shutdown.
(Inherited from LoggerRepositorySkeleton.)
Top
Remarks

The casual user should not have to deal with this class directly.

This class is specialized in retrieving loggers by name and also maintaining the logger hierarchy. Implements the ILoggerRepository interface.

The structure of the logger hierarchy is maintained by the [M:GetLogger(string)] method. The hierarchy is such that children link to their parent but parents do not have any references to their children. Moreover, loggers can be instantiated in any order, in particular descendant before ancestor.

In case a descendant is created before a particular ancestor, then it creates a provision node for the ancestor and adds itself to the provision node. Other descendants of the same ancestor add themselves to the previously created provision node.

See Also

Reference