Ich möchte die Protokollierung in meiner Anwendung implementieren, möchte jedoch keine externen Frameworks wie log4net verwenden.
Also möchte ich so etwas wie das Echo von DOS mit einer Datei machen. Was ist der effektivste Weg, dies zu tun?
Gibt es eine Möglichkeit, nicht behandelte Ausnahmen zu protokollieren, die ohne Verwendung eines externen Frameworks protokolliert wurden?
Antworten:
Weitere Informationen MSDN
quelle
using
On-Datei verwenden, da diese lokal ist, wird sie ohnehin bald gelöscht.file.WriteLine(lines);
der Code beim Auslösen einer Ausnahme niemals getroffen wirdfile.Close();
. Nutzenusing
ist ein Äquivalent fürtry { // using block } finally { // Dispose }
. Dies bedeutet, dass das Objekt auch dann entsorgt wird, wenn der Code innerhalb desusing
Blocks eine AusnahmeWarum? Log4net würde wahrscheinlich die meisten Ihrer Anforderungen erfüllen. Überprüfen Sie zum Beispiel diese Klasse: RollingFileAppender .
Log4net ist gut dokumentiert und es gibt Tausende von Ressourcen und Anwendungsfällen im Web.
quelle
Sie können direkt in ein Ereignisprotokoll schreiben. Überprüfen Sie die folgenden Links:
http://support.microsoft.com/kb/307024
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.aspx
Und hier ist das Beispiel von MSDN:
quelle
Wenn Sie nach einer wirklich einfachen Methode zum Protokollieren suchen, können Sie diesen einen Liner verwenden. Wenn die Datei nicht vorhanden ist, wird sie erstellt.
quelle
Ich habe meine eigene Fehlerprotokollierung geschrieben, bis ich ELMAH entdeckte . Ich habe es nie geschafft, den E-Mail-Teil so perfekt zu machen wie ELMAH.
quelle
Wenn Sie in der Nähe von .NET bleiben möchten, lesen Sie Enterprise Application Logging Application Block . Schau hier . Oder überprüfen Sie dies für ein Schnellstart-Tutorial . Ich habe den Validierungsanwendungsblock aus der Unternehmensbibliothek verwendet und er entspricht wirklich meinen Anforderungen und ist sehr einfach in Ihrem Projekt zu "erben" (installieren und aktualisieren!).
quelle
Wenn Sie eine eigene Fehlerprotokollierung wünschen, können Sie ganz einfach Ihren eigenen Code schreiben. Ich gebe Ihnen einen Ausschnitt aus einem meiner Projekte.
Um dann tatsächlich in das Fehlerprotokoll zu schreiben, schreiben Sie einfach (
q
als gefangene Ausnahme)quelle