<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>LoggingEvent Fields</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">LoggingEvent�Fields</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The fields of the <b>LoggingEvent</b> class are listed below. For a complete list of <b>LoggingEvent</b> class members, see the <a href="log4net.Core.LoggingEventMembers.html">LoggingEvent Members</a> topic.</p>
      <h4 class="dtH4">Public Static (Shared) Fields</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubfield.gif"></img><img src="static.gif" /><a href="log4net.Core.LoggingEvent.HostNameProperty.html">HostNameProperty</a></td><td width="50%"> The key into the Properties map for the host name value. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubfield.gif"></img><img src="static.gif" /><a href="log4net.Core.LoggingEvent.IdentityProperty.html">IdentityProperty</a></td><td width="50%"> The key into the Properties map for the thread identity value. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubfield.gif"></img><img src="static.gif" /><a href="log4net.Core.LoggingEvent.UserNameProperty.html">UserNameProperty</a></td><td width="50%"> The key into the Properties map for the user name value. </td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Core.LoggingEvent.html">LoggingEvent Class</a> | <a href="log4net.Core.html">log4net.Core Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="LoggingEvent class, fields">
        </param>
      </object>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
