Ich suche nach einem Weg für ein Befehlszeilenprogramm, um seine log4net-Ausgabe an eine Gruppe von Benutzern per E-Mail senden zu können. Im Moment lese ich die Log-Datei, aber ich muss log4net.LogManager.Shutdown () aufrufen, um die Datei freizugeben, damit ich sie lesen kann, und ich muss entweder den Log-Dateinamen fest codieren oder die log4net-Konfiguration dafür parsen . Ich möchte in der Lage sein, einen zusätzlichen Appender zu konfigurieren, der sich an einem Speicherort im Speicher anmeldet, von dem ich dann lesen kann.
Es macht mir nichts aus, einen neuen Appender für diese Funktionalität zu erstellen, aber ich bin mir nicht sicher, was die beste Option ist. Ich möchte mich sicherlich nicht auf eine andere Datei, Datenbank oder externe Datenquelle verlassen, nur um meine Protokollausgabe zu erhalten.
Ja, es gibt log4net.Appender.MemoryAppender
. Es verfügt über eine GetEvents()
-Methode, die Sie zum Abrufen der bisherigen Ereignisse verwenden können protokolliert.
Wäre der SmtpAppender nicht besser für diesen Zweck geeignet? Es eMails direkt.
Tags und Links log4net