2017-05-27 3 views
0

Ich habe es geschafft, SharpRaven erfolgreich zu loggen und Fehler erfolgreich von MVC- und Web-API-Controllern zu erfassen, konnte aber 404-Fehler nicht protokollieren und erfassen.Sentry protokolliert keine 404-Fehler für ASP.NET MVC-Site

Ich versuche, das wie so durch Application_Error zu tun:

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())); 
    } 
} 

Wenn ich einen Haltepunkt auf der _RavenClient.Capture(...) habe ich den Fehler zu sehen bekommen gefangen, aber die 404 erfassten Fehler hier nie wieder auftauchen in https://sentry.io/

Dies gilt auch für Nicht-404-Ausnahmen, die diese Codezeile treffen, wenn ich die anderen Controller-Integrationen deaktiviere.

Irgendwelche Ideen, warum dies nicht vollständig funktioniert? Gibt es einen besseren Weg, könnte ich das tun, die eine bessere Chance auf Arbeit haben könnte?

Antwort

0

Alles funktioniert wie gewünscht, wenn ich die RavenClient erstellen, wenn ich es innerhalb der Application_Error Methode selbst brauche. Scheint, dass ein Problem mit dem Erstellen des Clients in Application_Start auftreten und es später verwenden muss.

Das ist mein modifizierte Arbeits Code:

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