<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>ExceptionLayout 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">ExceptionLayout Class</h1>
      </div>
    </div>
    <div id="nstext">
      <p> A Layout that renders only the Exception text from the logging event </p>
      <p>For a list of all members of this type, see <a href="log4net.Layout.ExceptionLayoutMembers.html">ExceptionLayout Members</a>.</p>
      <p>
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
        <br />���<a href="log4net.Layout.LayoutSkeleton.html">log4net.Layout.LayoutSkeleton</a><br />������<b>log4net.Layout.ExceptionLayout</b></p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Class�ExceptionLayout<div>����Inherits�<a href="log4net.Layout.LayoutSkeleton.html">LayoutSkeleton</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>public�class�ExceptionLayout<b> : <a href="log4net.Layout.LayoutSkeleton.html">LayoutSkeleton</a></b></div>
      </div>
      <H4 class="dtH4">Thread Safety</H4>
      <P>Public static (<b>Shared</b> in Visual Basic) members of this type are 
				safe for multithreaded operations. Instance members are <b>not</b> guaranteed to be 
				thread-safe.</P>
      <h4 class="dtH4">Remarks</h4>
            <p> A Layout that renders only the Exception text from the logging event. </p>
            <p> This Layout should only be used with appenders that utilize multiple layouts (e.g. <a href="log4net.Appender.AdoNetAppender.html">AdoNetAppender</a>). </p>
            <h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Layout.html">log4net.Layout</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
					</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Layout.ExceptionLayoutMembers.html">ExceptionLayout Members</a> | <a href="log4net.Layout.html">log4net.Layout Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="ExceptionLayout class, about ExceptionLayout 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>
