<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.GetExceptionString Method</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.GetExceptionString�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Returns this event's exception's rendered using the <a href="log4net.Repository.ILoggerRepository.RendererMap.html">RendererMap</a>. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Function�GetExceptionString()�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�GetExceptionString();</div>
      <h4 class="dtH4">Return Value</h4>
      <p> This event's exception's rendered using the <a href="log4net.Repository.ILoggerRepository.RendererMap.html">RendererMap</a>. </p>
      <h4 class="dtH4">Remarks</h4>
            <p> Returns this event's exception's rendered using the <a href="log4net.Repository.ILoggerRepository.RendererMap.html">RendererMap</a>. </p>
            <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="GetExceptionString method"></param><param name="Keyword" value="GetExceptionString method, LoggingEvent class"></param><param name="Keyword" value="LoggingEvent.GetExceptionString method"></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>
