2016-05-26 10 views
0

Ich beginne ein neues Web-API-Projekt und habe Elmah installiert. Das Melden von Ausnahmen scheint im Kontext von HTTP-Anfragen einfach zu sein. Aber was ist mit außergewöhnlichen Dingen, die beim Start der Anwendung passieren? Elmah verfügt über einen Mechanismus zur manuellen Protokollierung von Ausnahmen, aber ist dies ein weiser Ansatz? Ich bekomme ein unbehagliches Gefühl, dass ich etwas mache, was nicht zu empfehlen ist.Was sind einige bewährte Ansätze zum Melden von Startfehlern in einer Web-API-Anwendung?

Antwort

2

ELMAH ist eine gute Wahl für die Protokollierung nicht abgefangener Ausnahmen in der Web-API sowie für die manuelle Protokollierung von Fehlern. Wenn Sie dies noch nicht getan haben, sollten Sie einen Blick auf Elmah.Contrib.WebApi werfen, der sowohl Web-API-Fehler automatisch protokolliert, als auch eine für Web-API enthält, die auch Fehler während der Initialisierung protokolliert.

Mit diesem gesagt ist ELMAH wahrscheinlich nicht das richtige Werkzeug für jedes Protokollierungsszenario. Wenn Sie Informationen protokollieren, debuggen und ausführliche Nachrichten bereitstellen möchten, können Sie die Verwendung von ELMAH mit einem Protokollframework Ihrer Wahl kombinieren. Ich liebe persönlich Serilog, aber es gibt andere Wahlen wie log4net und NLog. Alle sind ziemlich einfach in der Web API zu installieren.

Eigentlich habe ich vor ein paar Monaten einen Blogpost geschrieben, wo ich versucht habe, die ASP.NET Error Logging Best Practices zusammenzufassen, die man lesen kann. Für weitere Informationen über die Unterschiede zwischen ELMAH und Logging-Framework, schrieb ich auch ELMAH vs log4net, die auch andere Logging-Frameworks als Log4net umfasst.

+0

Danke, Elmah.IO scheint eine gute Lösung, wenn ernsthafte Protokollierung erforderlich ist – BCA

+0

elmah.io ist eine Alternative zu den oben genannten. elmah.io unterstützt sowohl die Fehlerprotokollierung als auch andere Arten der Protokollierung über log4net, NLog, Serilog usw. – ThomasArdal

+0

Ich verwende NLog bereits für andere Apps, aber es ist nicht wünschenswert, dass es nicht mit Elmah vereinheitlicht ist (d. h. zwei getrennte Fehlerberichtsmechanismen verwalten muss). Klingt wie Elmah.IO Dinge für dich vereint. – BCA