|
|
1
8
Elmah是一个出色的项目,我们将其用于所有ASP。NET应用程序。它不仅会为您记录未处理的错误,还会抓取整个 原文 它支持电子邮件、RSS提要(包括逐项和摘要),并有一个有吸引力的控制台。 对于配置中的3行和dll引用,我会说这是一个扣篮。 |
|
|
2
1
我想ELMAH的主要缺点是它可能对你需要的东西过于苛刻。如果它记录和存储的信息比您自己的实现中更多,那么这在存储和处理方面是不必要的开销。您还需要考虑如何确保对ELMAH控制台的访问,因为这些异常细节可能包含您应用程序的有趣细节(这并不难,但这是您以前没有的担忧)。 另一方面,一旦你确定某个顽固的bug需要它,你自己的实现可能会增长到记录所有额外的信息,你真的在乎把显示错误页面的时间缩短几分之一秒吗?很有可能你最终会构建自己的ELMAH版本,所以为什么不直接使用ELMAH来节省时间呢。 我建议,如果你确实想编写自己的错误日志而不是使用ELMAH,你至少应该把它放在一个模块中,而不是直接放在global.asax中的Application_error中。只需在模块的Init方法中订阅应用程序的Error事件,您就可以通过web.config中的一行在另一个应用程序中轻松重用错误处理代码。 我还发现通过ASP.NET处理任何异常日志记录都很有用。NET的健康监控。这使得在web.config中控制日志记录的类型和级别变得容易,还允许记录在尝试中处理的异常。..catch,但不会到达Application_Error。创建一个扩展WebRequestErrorEvent的自定义HandledExceptionEvent类,您可以在任何捕获块中创建和引发这些事件,只要您真的想知道即使处理了异常也发生了。 |