我正在使用ELMAH来处理我的ASP.Net MVC项目中的异常。我想用它来记录数据库连接超时,查询连接超时等错误。 ELMAH可以实现吗?
答案 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完成所有这些工作。