Elmah很不错,但对于这个小型商业应用来说它有点重要,我们已经有了后端异常的日志和视图。
好的,所以我启用了海关错误并使用MVC3 HandleErrorAttribute来渲染自定义页面,这很好用。但据我所知,没有办法将Controller连接到它,所以它真的没办法注入记录器和日志。我可以在全局asax中使用Appplicationerror方法,但是你不能以一种好的方式将你的记录器注入globalasax。
那么捕捉未经处理的异常的最佳方法是使用您最喜欢的IoC注入记录器并记录它?
答案 0 :(得分:0)
我是这样做的,继承自HandleErrorAttribute,它将我的记录器接口作为构造函数参数。
然后将该过滤器绑定到我的IoC,在我的例子中是Ninject
kernel.BindFilter<HandleAndLogErrorAttribute >(FilterScope.Global, 0);