2015-06-08 9 views
7

Ich habe Serilog für ein ASP.NET-MVC-Projekt implementiert, das in Azure gehostet wird, und Serilog stellt Senken bereit, die in Azure-Speicher protokolliert werden.Serilog, Elmah oder beides für ein ASP.NET MVC-Projekt?

Ich wollte dann einen besseren Weg, um Ausnahmen zu behandeln und lief in diesem sehr informativen Artikel über die Integration von ASP.NET MVC mit Elmah - http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx

Ich mag es, dass Elmah können Sie Ausnahmen anzeigen und hat Möglichkeiten, Administratoren zu benachrichtigen, wenn Ausnahmen treten auf. Da ich bereits Serilog habe, sollte ich es durch Elmah ersetzen oder in Verbindung damit verwenden?

Antwort

12

Elmah wird nur verwendet, um unbehandelt Ausnahmen zu protokollieren. Das heißt, Ausnahmen, die sonst zu einem gelben Bildschirm des Todes führen würden. Es hat auch einen sehr schönen Log-Viewer, aber letztendlich wird es nur für die Ausnahmeprotokollierung verwendet.

Serilog kann alles tun, was Elmah kann, mit Ausnahme des eingebauten Viewers (kein Wortspiel beabsichtigt). Es gibt jedoch viele Möglichkeiten, Ihre Ausnahmen anzuzeigen.

Serilog wird auch tracing oder "Ereignisprotokollierung" tun, was Elmah nicht tun wird (standardmäßig gibt es Möglichkeiten, Elmahs Infrastruktur dafür zu verwenden).

Schließlich erhalten Sie nicht die Struktur der Serilogs Protokollierung mit Elmah. Sie erhalten nur flache Logfiles.

Sie können beide verwenden, wenn Sie möchten, aber ich würde lieber nur einen Ausnahme-Handler konfigurieren, um sich bei Serilog einzuloggen.

FYI, serilog kann zu Elmah anmelden.

http://blog.elmah.io/logging-to-elmah-io-from-serilog/

Es gibt einen guten Blog-Eintrag auf der Website Elmah über den Unterschied zwischen Elmah und Log4net. Viele der gleichen Gründe treffen auf Serilog zu, obwohl es natürlich auch Serlogs strukturierte Protokollierung gibt, die Sie mit keinem von beiden erhalten würden.

http://blog.elmah.io/elmah-vs-log4net/

Auch trotz der Tatsache, dass ich verknüpft haben, elmah.io nicht verwechselt werden. Es gibt zwei Versionen von Elmah. Einer ist frei (und Open Source), der andere ist nicht (obwohl teilweise Open Source). Elmah.io ist Cloud-basiert und nicht kostenlos. Elmah ist immer noch Open Source und kostenlos.

http://code.google.com/p/elmah/

+1

Ein schneller Zeiger. Serilog kann nicht mit ELMAH integriert werden. Wir (bei elmah.io) bieten eine Serilog-Senke für elmah.io, aber keine anderen Arten von ELMAH-Fehlerprotokollierern. Während elmah.io die Schweregrade von Serilog unterstützt, tut ELMAH selbst (und sollte es auch nicht tun). – ThomasArdal

+0

ELMAH unterstützt die manuelle Fehlerprotokollierung aus der Box: http://blog.elmah.io/how-to-log-errors-to-elmah-programmatically/ – ThomasArdal

+0

@ThomasArdal - das ist immer noch ein Ausnahme-Handler, nicht Ablaufverfolgung und Ereignisprotokollierung .. –

Verwandte Themen