Ich habe gerade angefangen, mit Log4Net herumzuspielen ... Ich möchte jetzt eine E-Mail mit dem vollständigen Protokoll entweder anhängen oder direkt in der Mail senden. Das Problem bei der Verwendung von SmtpAppender ist, dass es eine pufferSize benötigt, die unbekannt ist, weil sie die Mail senden sollte, ob sie voller Fehler oder nur Informationen ist.Log4Net + E-Mail senden, wenn Sie fertig sind?
Update: Meine Konfigurationsdatei
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="[email protected]" />
<from value="[email protected]" />
<subject value="Backup Application - Log" />
<smtpHost value="mailserver" />
<authentication value="1" />
<username value="userName" />
<password value="mypw" />
<port value ="25"/>
<lossy value="true" />
<bufferSize value="500" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ALL"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%timestamp [%thread] %-5level %logger – %message%newline" />
</layout>
</appender>
Ich denke, das ist das Problem .. Ich nicht "sauber" stop meine Anwendung (nicht wissen, wie?) – ebb
Wenn Ihre Anwendung abstürzt, unterliegen Sie Nachricht Verlust. Dies ist ein sehr häufiges Problem bei der allgemeinen Protokollierung. Aus diesem Grund sollten Sie ** immer ** vermeiden, Nachrichten in einer fehlerhaften Anwendung zu puffern. Übrigens ist ein "sauberer" Stopp ein Stopp ohne unbehandelte Ausnahme. Wenn Sie Ihre Hauptmethode versuchen zu fangen, wird es ein sauberer Halt, wenn Sie einen Fehler –
Ich try-catch verwenden. Aber das Problem ist, dass ich immer noch möchte, dass das Protokoll per Mail gesendet wird, ob es voller Fehler oder nur Informationen ist. – ebb