log4netThreadContext
Namespace: log4net
Assembly: log4net (in log4net.dll) Version: 2.0.8.0-.NET 4.0
The ThreadContext type exposes the following members.
| Name | Description | |
|---|---|---|
| Properties | 
            The thread properties map
              | |
| Stacks | 
            The thread stacks
              | 
| Name | Description | |
|---|---|---|
| Equals | (Inherited from Object.) | |
| GetHashCode | 
                    Serves as a hash function for a particular type. 
                  (Inherited from Object.) | |
| GetType | 
                    Gets the Type of the current instance.
                  (Inherited from Object.) | |
| ToString | (Inherited from Object.) | 
The ThreadContext provides a location for thread specific debugging information to be stored. The ThreadContext properties override any GlobalContext properties with the same name.
The thread context has a properties map and a stack. The properties and stack can be included in the output of log messages. The PatternLayout supports selecting and outputting these properties.
The Thread Context provides a diagnostic context for the current thread. This is an instrument for distinguishing interleaved log output from different sources. Log output is typically interleaved when a server handles multiple clients near-simultaneously.
The Thread Context is managed on a per thread basis.
ThreadContext.Properties["user"] = userName; log.Info("This log message has a ThreadContext Property called 'user'");
using(ThreadContext.Stacks["NDC"].Push("my context message")) { log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); } // at the end of the using block the message is automatically popped