Asp.net mvc 记录404错误(带有目标和参考URL字段)

Asp.net mvc 记录404错误(带有目标和参考URL字段),asp.net-mvc,http-status-code-404,elmah,error-reporting,Asp.net Mvc,Http Status Code 404,Elmah,Error Reporting,我想在ASP.NETMVC站点(使用ELMAH)中收集和分析404数据,以解决任何实际问题。主要要求是以更专业、更密集但仍可查询的格式存储此信息,包括参考网站/URL。 我现在可以在ELMAH查看404。但是,我不希望ELMAH收集我所有的404(至少不是默认格式),因为这些错误日志变得太快。ELMAH 404日志中只有大约1%是典型的相关数据,例如记录有关普通漏洞扫描的无关异常详细信息。然后,发现真正的错误变得非常困难,如果我必须每周截断ELMAH表,甚至是不可能的 此外,即使在ELMAH中收

我想在ASP.NETMVC站点(使用ELMAH)中收集和分析404数据,以解决任何实际问题。主要要求是以更专业、更密集但仍可查询的格式存储此信息,包括参考网站/URL。

我现在可以在ELMAH查看404。但是,我不希望ELMAH收集我所有的404(至少不是默认格式),因为这些错误日志变得太快。ELMAH 404日志中只有大约1%是典型的相关数据,例如记录有关普通漏洞扫描的无关异常详细信息。然后,发现真正的错误变得非常困难,如果我必须每周截断ELMAH表,甚至是不可能的

此外,即使在ELMAH中收集了所有这些数据,它也没有为关键的
target
referer
URL字段(用于查询或聚合)提供专门的字段,这使得管理404成为可能

如果有一个包(例如通过NuGet)能够存储到SQL,包括一个表示层,可以根据最常见的错误或实际引用源的错误进行排序,甚至允许将它们标记为已看到/已寻址,以便它们不会在未来的报告中显示,这将是一个理想的解决方案。任何能够提供其中一部分的解决方案都将是一个很好的开端

我可能会在ELMAH中添加一个自定义处理程序,并通过自己的数据层记录到SQL中,以代替推荐。


但是,我更喜欢打包解决方案,它不需要利用ELMAH。如果ELMAH不是解决方案的一部分,我可以手动向ELMAH(,)添加过滤器。

我是幕后开发人员之一。elmah.io提供了一些您正在寻找的功能。您可以按不同的键属性搜索错误。此外,还可以使用我们的规则选项实现过滤器部分,您可以忽略来自特定用户代理的错误,等等


我们还为ELMAH创建了一个ErrorLog实现,使您能够将错误存储在Elasticsearch:。您可以使用Elasticsearch的UI搜索和聚合您的所有404,如。

Uh,如果您进行downvote/closevote,请发表评论-这是怎么离题的?安装ELMAH后,404成为应用程序的责任。如果您认为有一种简单的方法可以将这个问题转移到编程领域之外,那么一个注释不是也很礼貌吗?最近人们似乎认为,如果代码不可见,这是一个糟糕的问题。这是一个很好的答案。我喜欢elmah.io的想法,也喜欢你对Elasticsearch的引用。不幸的是,由于每天有数百个404,elmah.io的50-100美元/月价格是一项费用承诺,我不准备在这个应用程序中使用。我完全理解。除非您可以使用ignore规则过滤掉大部分错误,否则您应该自己来托管它。你为什么有那么多404?你不能做点什么来修复吗?大多数404都是漏洞扫描。其中很多是来自成员发布文档的无效图像和样式链接,这是遗留转换过程的产物。有一大堆看起来像是真正的糟糕推荐,但在这么多的噪音下真的很难说出来。当然,有时候真的很难确定404。在很多情况下,我会查看一个链接,并认为根据我们的市场,有人会合理地期望在我们的网站上找到它,但随后我会在漏洞矩阵上找到URL。但是你不能通过用户代理、消息或类似的方式识别这些错误吗?在这种情况下,只需为这些错误添加忽略规则。顺便说一句,elmah.io仍处于测试阶段,所有软件包都是免费的。