0
在我的項目中安裝了elmah框架來記錄異常。在本地主機上它工作正常,但是當我將它部署到生產環境時,它停止記錄空引用異常。記錄所有其他異常(或者我沒有發現下一個沒有記錄的異常)。 我已經設置了登錄到SqlServer。
我找不出什麼毛病,有人可以給我建議嗎? (我如何說loggs所有異常我解僱,但只有這一個是從來沒有抓到)
謝謝
在我的項目中安裝了elmah框架來記錄異常。在本地主機上它工作正常,但是當我將它部署到生產環境時,它停止記錄空引用異常。記錄所有其他異常(或者我沒有發現下一個沒有記錄的異常)。 我已經設置了登錄到SqlServer。
我找不出什麼毛病,有人可以給我建議嗎? (我如何說loggs所有異常我解僱,但只有這一個是從來沒有抓到)
謝謝
嗯,托馬斯奧達爾回答正確。
問題出在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());
之後,它開始記錄一些例外,但不是全部。解決方案是,我刪除,如果條件和抓住一切。因此,如果任何人有類似的問題,一定要注意,這個問題將在過濾器的某個地方...
聽起來像你可以忽略NullReferenceExceptions。你能分享你的配置嗎? – ThomasArdal 2014-11-25 09:47:08
@ThomasArdal你需要什麼配置部分?那裏我沒有任何過濾器。以及我怎麼說,在本地主機上它工作正常(空引用異常被捕獲 - 在0號下,但它被捕獲) – Ademar 2014-11-25 16:54:30
我在思考你的ELMAH配置web.config。但它確實聽起來很奇怪! – ThomasArdal 2014-11-26 20:25:43