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?
- haben Sie einen Blick auf diese post für die richtige Antwort: stackoverflow.com/questions/13254495/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die lossy-Wert true:
In Ihrer Konfiguration log4net schreibt den Puffer nicht, nur wenn ein Fehler protokolliert wird, sondern auch, wenn der Puffer voll ist. Die verlustreiche flag erzählt log4net die Nachrichten zu löschen, wenn nötig.
Verwenden
Den
scheint nicht zu funktionieren (log4net, version 1.2.13.0) mehr...
Mit
ist nicht gut, wenn man will Holen Sie sich die Nachrichten.
Würd ich geben diesem einen Versuch:
Wie kann ich Filter auf ein benutzerdefiniertes Level in log4net?
Filterung funktioniert gut für mich in anderen 'Szenarien'.