<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 Methods</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�Methods</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The methods 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 Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassEqualsTopic.htm">Equals</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.FixVolatileData_overloads.html">FixVolatileData</a></td><td width="50%">Overloaded.  Fix instance fields that hold volatile data. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.GetExceptionString.html">GetExceptionString</a></td><td width="50%"> Returns this event's exception's rendered using the <a href="log4net.Repository.ILoggerRepository.RendererMap.html">RendererMap</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.GetExceptionStrRep.html">GetExceptionStrRep</a></td><td width="50%"><FONT color="red"><B>Obsolete. </B></FONT> Returns this event's exception's rendered using the <a href="log4net.Repository.ILoggerRepository.RendererMap.html">RendererMap</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetHashCodeTopic.htm">GetHashCode</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.GetLoggingEventData_overloads.html">GetLoggingEventData</a></td><td width="50%">Overloaded.  Gets the portable data for this <a href="log4net.Core.LoggingEvent.html">LoggingEvent</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.GetObjectData.html">GetObjectData</a></td><td width="50%"> Serializes this object into the <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemRuntimeSerializationSerializationInfoClassTopic.htm">SerializationInfo</a> provided. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.GetProperties.html">GetProperties</a></td><td width="50%"> Get all the composite properties in this event </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetTypeTopic.htm">GetType</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.LookupProperty.html">LookupProperty</a></td><td width="50%"> Lookup a composite property in this event </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassToStringTopic.htm">ToString</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Core.LoggingEvent.WriteRenderedMessage.html">WriteRenderedMessage</a></td><td width="50%"> Write the rendered message to a TextWriter </td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassFinalizeTopic.htm">Finalize</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Core.LoggingEvent.FixVolatileData_overload_3.html">FixVolatileData</a></td><td width="50%">Overloaded.  Fix the fields specified by the <a href="log4net.Core.FixFlags.html">FixFlags</a> parameter </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassMemberwiseCloneTopic.htm">MemberwiseClone</a> (inherited from <b>Object</b>)</td><td width="50%">�</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, methods">
        </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>
