| <html dir="LTR"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" /> |
| <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" /> |
| <title>ThreadContext Class</title> |
| <xml> |
| </xml> |
| <link rel="stylesheet" type="text/css" href="MSDN.css" /> |
| </head> |
| <body id="bodyID" class="dtBODY"> |
| <div id="nsbanner"> |
| <div id="bannerrow1"> |
| <table class="bannerparthead" cellspacing="0"> |
| <tr id="hdr"> |
| <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td> |
| <td class="product"> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div id="TitleRow"> |
| <h1 class="dtH1">ThreadContext Class</h1> |
| </div> |
| </div> |
| <div id="nstext"> |
| <p> The log4net Thread Context. </p> |
| <p>For a list of all members of this type, see <a href="log4net.ThreadContextMembers.html">ThreadContext Members</a>.</p> |
| <p> |
| <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a> |
| <br />���<b>log4net.ThreadContext</b></p> |
| <div class="syntax"> |
| <span class="lang">[Visual�Basic]</span> |
| <br />NotInheritable�Public�Class�ThreadContext</div> |
| <div class="syntax"> |
| <span class="lang">[C#]</span> |
| <div>public�sealed�class�ThreadContext</div> |
| </div> |
| <H4 class="dtH4">Thread Safety</H4> |
| <P>This type is safe for multithreaded operations.</P> |
| <h4 class="dtH4">Remarks</h4> |
| <p> The <code>ThreadContext</code> provides a location for thread specific debugging information to be stored. The <code>ThreadContext</code> properties override any <a href="log4net.GlobalContext.html">GlobalContext</a> properties with the same name. </p> |
| <p> The thread context has a properties map and a stack. The properties and stack can be included in the output of log messages. The <a href="log4net.Layout.PatternLayout.html">PatternLayout</a> supports selecting and outputting these properties. </p> |
| <p> 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. </p> |
| <p> The Thread Context is managed on a per thread basis. </p> |
| <h4 class="dtH4">Example</h4><p>Example of using the thread context properties to store a username. <pre class="code"><span class="lang">[C#] |
| </span>ThreadContext.Properties["user"] = userName; |
| log.Info("This log message has a ThreadContext Property called 'user'"); |
| </pre> |
| Example of how to push a message into the context stack <pre class="code"><span class="lang">[C#] |
| </span>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 |
| </pre> |
| </p><h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.html">log4net</a></p><p><b>Assembly: </b>log4net (in log4net.dll) |
| </p><h4 class="dtH4">See Also</h4><p><a href="log4net.ThreadContextMembers.html">ThreadContext Members</a> | <a href="log4net.html">log4net Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="ThreadContext class, about ThreadContext class"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div> |
| </body> |
| </html> |