使用ELMAH记录数据库错误

时间:2010-03-05 03:06:07

标签: asp.net asp.net-mvc elmah

我正在使用ELMAH来处理我的ASP.Net MVC项目中的异常。我想用它来记录数据库连接超时,查询连接超时等错误。 ELMAH可以实现吗?

2 个答案:

答案 0 :(得分:5)

如果您让异常传播到Elmah Web模块,它将自动记录这些异常。

但是,您可以以编程方式直接登录Elmah,有几种方法可以执行此操作:

您可以在代码中的catch子句中使用这样的代码:

try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }

另一种方法是:

Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));

然而,我会将此代码包装到更通用的IErrorLogger样式接口中,以便您的低级代码不需要对Elmah本身具有硬依赖性

答案 1 :(得分:0)

我不知道它是否与ELMAH(从未使用过它)有关,但您可以使用高度可配置的MS Ent Libs完成所有这些工作。

http://msdn.microsoft.com/en-us/library/cc467894.aspx

http://entlib.codeplex.com/wikipage?title=EntLib5%20Beta1