Gibt es einen log4net-Speicherappender?

8

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.

    
Chris 29.10.2010, 16:35
quelle

2 Antworten

14

Ja, es gibt log4net.Appender.MemoryAppender . Es verfügt über eine GetEvents() -Methode, die Sie zum Abrufen der bisherigen Ereignisse verwenden können protokolliert.

    
Mark Rushakoff 29.10.2010, 16:37
quelle
1

Wäre der SmtpAppender nicht besser für diesen Zweck geeignet? Es eMails direkt.

    
Ross Patterson 25.02.2011 14:11
quelle

Tags und Links