Hierarchy Class | Apache log4net™ SDK Documentation

Hierarchical organization of loggers
Inheritance Hierarchy

System
Object
log4net.Repository
LoggerRepositorySkeleton
log4net.Repository.Hierarchy
Hierarchy

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

C#
VB
C++
F#
Copy

    public class Hierarchy : LoggerRepositorySkeleton, IBasicRepositoryConfigurator,
    	IXmlRepositoryConfigurator

    Public Class Hierarchy
    	Inherits LoggerRepositorySkeleton
    	Implements IBasicRepositoryConfigurator, IXmlRepositoryConfigurator

    public ref class Hierarchy : public LoggerRepositorySkeleton,
    	IBasicRepositoryConfigurator, IXmlRepositoryConfigurator

    type Hierarchy =
        class
            inherit LoggerRepositorySkeleton
            interface IBasicRepositoryConfigurator
            interface IXmlRepositoryConfigurator
        end

The Hierarchy type exposes the following members.

Constructors

| Name | Description
--- | --- | ---
| Hierarchy | Default constructor
| Hierarchy(ILoggerFactory) | Construct with a logger factory
| Hierarchy(PropertiesDictionary) | Construct with properties
| Hierarchy(PropertiesDictionary, ILoggerFactory) | Construct with properties and a logger factory

Top
Properties

| Name | Description
--- | --- | ---
| ConfigurationMessages | Contains a list of internal messages captures during the last configuration. (Inherited from LoggerRepositorySkeleton.)
| Configured | Flag indicates if this repository has been configured. (Inherited from LoggerRepositorySkeleton.)
| EmittedNoAppenderWarning | Has no appender warning been emitted
| LevelMap | Get the level map for the Repository. (Inherited from LoggerRepositorySkeleton.)
| LoggerFactory | Gets or sets the default ILoggerFactory instance.
| Name | The name of the repository (Inherited from LoggerRepositorySkeleton.)
| PluginMap | The plugin map for this repository. (Inherited from LoggerRepositorySkeleton.)
| Properties | Repository specific properties (Inherited from LoggerRepositorySkeleton.)
| RendererMap | RendererMap accesses the object renderer map for this repository. (Inherited from LoggerRepositorySkeleton.)
| Root | Get the root of this hierarchy
| Threshold | The threshold for all events in this repository (Inherited from LoggerRepositorySkeleton.)

Top
Methods

| Name | Description
--- | --- | ---
| AddRenderer | Adds an object renderer for a specific class. (Inherited from LoggerRepositorySkeleton.)
| BasicRepositoryConfigure | Initialize the log4net system using the specified appenders
| Clear | Clear all logger definitions from the internal hashtable
| Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
| Exists | Test if a logger exists (Overrides LoggerRepositorySkeleton Exists(String).)
| Finalize | Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
| Flush | Flushes all configured Appenders that implement IFlushable. (Inherited from LoggerRepositorySkeleton.)
| GetAppenders | Returns all the Appenders that are currently configured (Overrides LoggerRepositorySkeleton GetAppenders .)
| GetCurrentLoggers | Returns all the currently defined loggers in the hierarchy as an Array (Overrides LoggerRepositorySkeleton GetCurrentLoggers .)
| GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.)
| GetLogger(String) | Return a new logger instance named as the first parameter using the default factory. (Overrides LoggerRepositorySkeleton GetLogger(String).)
| GetLogger(String, ILoggerFactory) | Return a new logger instance named as the first parameter using factory.
| GetType | Gets the Type of the current instance. (Inherited from Object.)
| IsDisabled | Test if this hierarchy is disabled for the specified Level.
| Log | Log the logEvent through this hierarchy. (Overrides LoggerRepositorySkeleton Log(LoggingEvent).)
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
| OnConfigurationChanged | Notify the registered listeners that the repository has had its configuration changed (Inherited from LoggerRepositorySkeleton.)
| OnConfigurationReset | Notify the registered listeners that the repository has had its configuration reset (Inherited from LoggerRepositorySkeleton.)
| OnLoggerCreationEvent | Sends a logger creation event to all registered listeners
| OnShutdown | Notify the registered listeners that the repository is shutting down (Inherited from LoggerRepositorySkeleton.)
| RaiseConfigurationChanged | Raise a configuration changed event on this repository (Inherited from LoggerRepositorySkeleton.)
| ResetConfiguration | Reset all values contained in this hierarchy instance to their default. (Overrides LoggerRepositorySkeleton ResetConfiguration .)
| Shutdown | Shutting down a hierarchy will safely close and remove all appenders in all loggers including the root logger. (Overrides LoggerRepositorySkeleton Shutdown .)
| ToString | Returns a String that represents the current Object. (Inherited from Object.)
| XmlRepositoryConfigure | Initialize the log4net system using the specified config

Top
Events

| Name | Description
--- | --- | ---
| ConfigurationChanged | Event to notify that the repository has had its configuration changed. (Inherited from LoggerRepositorySkeleton.)
| ConfigurationReset | Event to notify that the repository has had its configuration reset. (Inherited from LoggerRepositorySkeleton.)
| LoggerCreatedEvent | Event used to notify that a logger has been created.
| ShutdownEvent | 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

log4net.Repository.Hierarchy Namespace