2017-05-27 51 views
0

我已經設法連接SharpRaven以成功從MVC和Web API控制器記錄和捕獲錯誤,但無法記錄和捕獲404錯誤。Sentry沒有爲ASP.NET MVC站點記錄404錯誤

我試圖通過Application_Error要做到這一點,像這樣:

public class MvcApplication : System.Web.HttpApplication 
{ 
    RavenClient _RavenClient; 

    protected void Application_Start() 
    { 
     _RavenClient = new RavenClient(ConfigurationManager.AppSettings["RavenClient:DNS"]); 

     ... 
    } 

    protected void Application_Error(object sender, EventArgs e) 
    { 
     _RavenClient.Capture(new SentryEvent(Server.GetLastError())); 
    } 
} 

如果我設置的_RavenClient.Capture(...)一個破發點,我可以看到錯誤越來越抓獲,但在這裏拍攝的404錯誤從不露面https://sentry.io/

如果我禁用其他控制器集成,這對於發現這行代碼的非404異常也是如此。

任何想法,爲什麼這不完全工作?有沒有更好的方式可以做到這一點,可能有更好的工作機會?

回答

0

如果我在Application_Error方法本身內部創建RavenClient時,所有內容都可以正常工作。看起來在創建Application_Start中的客戶端時必須有問題,然後再使用它。

這是我的工作修改代碼:

protected void Application_Error(object sender, EventArgs e) 
{ 
    new RavenClient(ConfigurationManager.AppSettings["RavenClient:DNS"]) 
     .Capture(new SentryEvent(Server.GetLastError())); 
}