Wie Konfiguriere ich eine log4net SmtpAppender, nur senden Sie mir e-mails, wenn ein bestimmtes Niveau geschlagen?

Ich versuche zu konfigurieren log4net SmtpAppender, so dass ich nur eine e-mail, wenn ein bestimmter log-level ist der hit, aber mit den letzten 10 Zeilen von alle Ebenen enthalten. Das ist meine config:

<appender name="EmailAppender" type="SmtpSubjectLayoutAppender">

  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="WARN"/>
  </evaluator>

  <bufferSize value="10" />
  <lossy value="false" />

  ...
</appender>

Ich die Ausübung es mit diesem code:

for (var i = 1; i <= 30; i++)
{
    logger.Info("This is just a test message " + i);
}

logger.Error("Error message");

Das problem ist, dass ich am Ende immer 3 e-mails, 2 mit allen INFO Protokollierung und eine, die hat die letzten paar Zeilen, die aufgetreten sind, bevor die ERROR:

[2012-07-27 18:59:55.657][INFO ][Chase][tid=14972] This is just a test message 23
[2012-07-27 18:59:55.659][INFO ][Chase][tid=14972] This is just a test message 24
[2012-07-27 18:59:55.661][INFO ][Chase][tid=14972] This is just a test message 25
[2012-07-27 18:59:55.662][INFO ][Chase][tid=14972] This is just a test message 26
[2012-07-27 18:59:55.664][INFO ][Chase][tid=14972] This is just a test message 27
[2012-07-27 18:59:55.666][INFO ][Chase][tid=14972] This is just a test message 28
[2012-07-27 18:59:55.667][INFO ][Chase][tid=14972] This is just a test message 29
[2012-07-27 18:59:55.670][INFO ][Chase][tid=14972] This is just a test message 30
[2012-07-27 18:59:55.671][ERROR][Chase][tid=14972] Error message

Wie Konfiguriere ich die appender, so dass ich eine e-mail mit den letzten 10 Zeilen aus, wenn Sie WARNEN oder höher aufgetreten ist, aber zu ignorieren, die Puffer sonst?

InformationsquelleAutor Daniel T. | 2012-07-28
Schreibe einen Kommentar