Sentry 未记录 ASP.NET MVC 站点的 404 错误

Sentry is not logging 404 errors for ASP.NET MVC site

我已成功连接 SharpRaven 以从 MVC 和 Web API 控制器成功记录和捕获错误,但无法记录和捕获 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 异常也是如此。

知道为什么这不能完全工作吗?有没有更好的方法可以让我有更好的工作机会?

如果我在 Application_Error 方法本身中需要时创建 RavenClient,一切都会按预期工作。看来在Application_Start中创建客户端然后稍后使用它一定有问题。

这是我修改后的工作代码:

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