使用ELMAH记录数据库错误

cks*_*ose 4 asp.net asp.net-mvc elmah

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

sar*_*ret 5

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

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

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

try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }
Run Code Online (Sandbox Code Playgroud)

另一种方法是:

Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
Run Code Online (Sandbox Code Playgroud)

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