Serilog,Elmah或两者都用于ASP.NET MVC项目?

Dot*_*ude 9 asp.net-mvc elmah azure asp.net-mvc-4 serilog

我为一个ASP.NET MVC项目实现了Serilog,该项目将在Azure中托管,Serilog提供了用于登录Azure存储的接收器.

然后我想要一个更好的方法来处理异常,并遇到这篇关于将ASP.NET MVC与Elmah集成的内容丰富的文章 - http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx

我喜欢它,Elmah允许您查看异常,并有办法在发生异常时通知管理员.鉴于我已经有了Serilog,我应该用Elmah替换它还是与它一起使用?

Eri*_*sch 16

Elmah仅用于记录未处理的异常.也就是说,否则会导致黄色的死亡屏幕.它有一个非常好的日志查看器,但最终,它只用于异常日志记录.

Serilog可以做任何Elmah可以做的事情,除了内置查看器的例外(没有双关语).但是,有很多方法可以查看您的例外情况.

Serilog还将进行跟踪或"事件记录",Elmah不会这样做(默认情况下,有方法可以使用Elmah的基础设施来执行此操作).

最后,你没有得到Serilogs与Elmah一起登录的结构.你只需得到平坦的日志文件.

你可以根据需要使用两者,但我宁愿只配置一个Exception处理程序来登录Serilog.

仅供参考,serilog可以登录Elmah.

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

Elmah网站上有一篇关于Elmah和Log4net之间差异的博客文章.许多相同的原因适用于Serilog,虽然显然也有Serlog的结构化日志记录,你不会得到其中任何一个.

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

此外,尽管我已经链接到elmah.io,但不要混淆.有两个版本的Elmah.一个是免费的(和开源),另一个不是(虽然是部分开源).Elmah.io是基于云的,而不是免费的.Elmah仍然是开源和免费的.

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

  • 快速指针。Serilog不与ELMAH集成。我们(在elmah.io上)为elmah.io提供了一个Serilog接收器,但没有提供其他类型的ELMAH错误记录器。虽然elmah.io支持Serilog的严重性,但ELMAH本身不(也不应该这样做)。 (2认同)