Elmah没有记录NullReference异常

时间:2014-11-24 15:44:45

标签: elmah

下午好,

在我的项目中安装了elmah框架来记录异常。在localhost上它工作正常,但是当我将它部署到生产时,它会停止记录空引用异常。记录所有其他异常(或者我没有找到下一个未记录的异常)。 我已经设置了登录SqlServer。

我无法找出问题所在,有人可以给我一些建议吗? (我怎么说它记录了我解雇的所有例外情况,但只有这一个从未被捕获过)

谢谢

1 个答案:

答案 0 :(得分:2)

好吧,Thomas Ardal回答说得对。

问题出在FilterConfig.cs文件中。因为在默认设置中它不希望记录任何500错误,危险请求,空引用异常等,我添加了这一行:

public class ElmahHandleErrorAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        if(filterContext.Exception is HttpRequestValidationException)
        {
            ErrorLog.GetDefault(HttpContext.Current).Log(new Error(filterContext.Exception));
        }
    }
}

并将此行首先添加到RegisterGlobalFilters方法中。

filters.Add(new ElmahHandleErrorAttribute());

之后它开始记录一些例外但不是全部。解决方法是我删除if条件并捕获所有内容。因此,如果有人会有类似的问题,请确保,问题将出现在过滤器中......