<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>BufferingForwardingAppender 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">BufferingForwardingAppender�Properties</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The properties of the <b>BufferingForwardingAppender</b> class are listed below. For a complete list of <b>BufferingForwardingAppender</b> class members, see the <a href="log4net.Appender.BufferingForwardingAppenderMembers.html">BufferingForwardingAppender 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.Appender.BufferingForwardingAppender.Appenders.html">Appenders</a></td><td width="50%"> Gets the appenders contained in this appender as an <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">ICollection</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.BufferSize.html">BufferSize</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets the size of the cyclic buffer used to hold the logging events. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.ErrorHandler.html">ErrorHandler</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Core.IErrorHandler.html">IErrorHandler</a> for this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Evaluator.html">Evaluator</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Core.ITriggeringEventEvaluator.html">ITriggeringEventEvaluator</a> that causes the buffer to be sent immediately. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.FilterHead.html">FilterHead</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> The filter chain. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Fix.html">Fix</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets a the fields that will be fixed in the event </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.Layout.html">Layout</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Layout.ILayout.html">ILayout</a> for this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Lossy.html">Lossy</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets a value that indicates whether the appender is lossy. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator.html">LossyEvaluator</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets the value of the <a href="log4net.Core.ITriggeringEventEvaluator.html">ITriggeringEventEvaluator</a> to use. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.Name.html">Name</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the name of this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData.html">OnlyFixPartialEventData</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"><FONT color="red"><B>Obsolete. </B></FONT> Gets or sets a value indicating if only part of the logging event data should be fixed. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.Threshold.html">Threshold</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the threshold <a href="log4net.Core.Level.html">Level</a> of this appender. </td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.RequiresLayout.html">RequiresLayout</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Tests if this appender requires a <a href="log4net.Appender.AppenderSkeleton.Layout.html">Layout</a> to be set. </td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Appender.BufferingForwardingAppender.html">BufferingForwardingAppender Class</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="BufferingForwardingAppender class, properties">
        </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>
