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()));
}
我已成功连接 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()));
}