title: Log4Net MemoryAppender seems to miss high speed log events
body: <p>I am using a log4net MemoryAppender to show my log4net output on a form text box.  The relevant part of my config file is:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;appender name="MemoryAppender" type="log4net.Appender.MemoryAppender" &gt;
      &lt;layout type="log4net.Layout.PatternLayout"&gt;
          &lt;conversionPattern value="%level %date %message%newline" /&gt;
      &lt;/layout&gt;
  &lt;/appender&gt;
  </code></pre>
  
  <p>The code that updates the form is fired by a timer and looks like:</p>
  
  <pre><code>var events = _memoryAppender.GetEvents();
  
  foreach (var loggingEvent in events)
  {
      textBoxOutput.Text += loggingEvent.Level + "  " + loggingEvent.MessageObject + Environment.NewLine;
  }
  _memoryAppender.Clear();
  </code></pre>
  
  <p>It is working, but when my application logs a lot of messages in a short period of time I don't seem to see them.  Does anyone have an idea what is going on?</p>
  
  <p>As a workaround I am using <a href="http://logging.apache.org/log4net/release/howto/chainsaw.html" rel="nofollow">Chainsaw</a> and a UDP appender:</p>
  
  <pre class="lang-xml prettyprint-override"><code>   &lt;appender name="UdpAppender" type="log4net.Appender.UdpAppender"&gt;
      &lt;filter type="log4net.Filter.LevelRangeFilter"&gt;
          &lt;param name="LevelMin" value="INFO"/&gt;
          &lt;param name="LevelMax" value="ERROR"/&gt;
      &lt;/filter&gt;
      &lt;param name="RemoteAddress" value="127.0.0.1" /&gt;
      &lt;param name="RemotePort" value="8080" /&gt;
      &lt;layout type="log4net.Layout.XmlLayoutSchemaLog4j, log4net" /&gt;
  &lt;/appender&gt;
  </code></pre>
  
  <p>I like my own UI better, though, so I am still looking for answers.</p>