<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>PatternLayout Properties</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">PatternLayout�Properties</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The properties of the <b>PatternLayout</b> class are listed below. For a complete list of <b>PatternLayout</b> class members, see the <a href="log4net.Layout.PatternLayoutMembers.html">PatternLayout Members</a> topic.</p>
      <h4 class="dtH4">Public Instance Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Layout.LayoutSkeleton.ContentType.html">ContentType</a> (inherited from <b>LayoutSkeleton</b>)</td><td width="50%"> The content type output by this layout. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Layout.PatternLayout.ConversionPattern.html">ConversionPattern</a></td><td width="50%"> The pattern formatting string </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Layout.LayoutSkeleton.Footer.html">Footer</a> (inherited from <b>LayoutSkeleton</b>)</td><td width="50%"> The footer for the layout format. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Layout.LayoutSkeleton.Header.html">Header</a> (inherited from <b>LayoutSkeleton</b>)</td><td width="50%"> The header for the layout format. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Layout.LayoutSkeleton.IgnoresException.html">IgnoresException</a> (inherited from <b>LayoutSkeleton</b>)</td><td width="50%"> Flag indicating if this layout handles exceptions </td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Layout.PatternLayout.html">PatternLayout Class</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="PatternLayout class, properties">
        </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>
