Protokollierung von Ausnahmen in asp.net core / kestrel
Die Dokumente zeigen, wie eine Seite für, wenn eine Ausnahme Auftritt: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling
Aber wie zeichne ich die details der exception in eine log-Datei auf meinem server?
Tut kestrel anmelden, Ausnahmen und Fehler, die überall standardmäßig, oder muss ich das manuell tun?
Gibt es Beispiele oder eine Dokumentation verfügbar?
- werfen Sie einen Blick hier
- Dass der Artikel zeigt, wie Sie manuell pass in den Nachrichten zu melden. Wie fange ich Globale Ausnahmen und Fehler in der webserver-Ebene?
- Sie können eine middleware, die fängt die Ausnahmen, meldet sich Ihnen und rethrows Sie. Registrieren Sie es einfach wie der erste.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, ASP.NET Kern ist die integrierte Protokollierung, aber es funktioniert nicht bieten die Möglichkeit, die log-Datei direkt. Stattdessen müssen Sie die Verwendung von 3-rd-party-Bibliotheken.
Die gute Nachricht ist, dass alle drei die meisten common logging-Bibliotheken stehen bereits zur Verfügung für .NET Core als nuget-Pakete: NLog, Serilog und log4net.
Dieser Artikel hat eine gute übersicht über Sie und bietet how-to-use Beispiele: ASP.NET Kern-Protokollierung Tutorial – Was Funktioniert Noch und Was hat sich Verändert?.
Dann schlage ich vor, Blick in die Beispiele in aspnet/Diagnose repo. Es wird gezeigt, wie benutzerdefinierte oder integrierte Fehler-Middleware, ExceptionHandler.
Gibt es ein Paket namens Serilog.Extensions.Die Protokollierung.Datei, fügt logging-Datei mit einer einzigen Zeile code (
AddFile()
):Vom dieser Artikel.