Log4Net MemoryAppender parece perder eventos de log de alta velocidade

Eu estou usando um logAnet MemoryAppender para mostrar minha saída log4net em uma caixa de texto de formulário. A parte relevante do meu arquivo de configuração é:

<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender" >
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%level %date %message%newline" />
    </layout>
</appender>

O código que atualiza o formulário é acionado por um temporizador e se parece com:

var events = _memoryAppender.GetEvents();

foreach (var loggingEvent in events)
{
    textBoxOutput.Text += loggingEvent.Level + "  " + loggingEvent.MessageObject + Environment.NewLine;
}
_memoryAppender.Clear();

Está funcionando, mas quando meu aplicativo registra muitas mensagens em um curto período de tempo, parece que não as vejo. Alguém tem uma ideia do que está acontecendo?

Como solução alternativa, estou usandoMotosserra e um anexador UDP:

   <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
    <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="INFO"/>
        <param name="LevelMax" value="ERROR"/>
    </filter>
    <param name="RemoteAddress" value="127.0.0.1" />
    <param name="RemotePort" value="8080" />
    <layout type="log4net.Layout.XmlLayoutSchemaLog4j, log4net" />
</appender>

Eu gosto da minha interface do usuário melhor, por isso ainda estou procurando respostas.

questionAnswers(1)

yourAnswerToTheQuestion