1

我在 javascript / jquery Web 架构中注意到的一件事是,异常似乎很容易被吞没并被忽视。我在想,如果您的 Web 层有 javascript 异常,有关它的信息通过 AJAX 请求发送回您的服务器,那么至少您可以记录有关它的信息,这将是一件非常好的事情。

我想知道必须有一些框架功能已经做到了这一点,因为我认为这将是一个非常有用的功能。任何人都知道可以做到这一点的任何框架、功能或库吗?

谢谢

4

3 回答 3

4

可能有,但自己实现并不难。只需为事件挂钩一个事件处理程序windowerror并在那里发出 AJAX 请求。

将传递给您的事件处理程序的参数依次是:作为字符串的错误消息,引发错误的 URL,还有一个字符串,引发错误的行号,最后是事件对象。

于 2012-04-13T10:07:27.617 回答
2

在构建自己的解决方案时,您必须考虑很多事情。例如,您会看到插件中的 JavaScript 错误产生的大量噪音,占所有错误的 10-20%。智能地对错误进行分组是一个非常困难的问题,因为对于不同的浏览器和版本,您会收到非常不同的错误消息。此外,如果您在 mousemove 事件中有错误,您也不想记录 1,000 个错误。还有很多其他的东西需要考虑。

我们已经构建了一个 SaaS 解决方案,就像您要求的Muscula 一样。我们目前处于私人测试阶段,但正在努力发布。我们已经监测了超过 1 亿次的 JavaScript 错误页面浏览量,并且每周记录超过 100 万次 JavaScript 错误。除了我上面提到的问题之外,我们还解决了在缩小的 JavaScript 中显示错误的问题,以及与 Goggle Analytics 的集成等等。

您像 Google Analytics 一样安装 Muscula,只需将脚本复制到您的页面,您就会记录 JavaScript 错误。

于 2012-04-14T11:57:28.833 回答
2

您可以自己制作,但这可能有点棘手,因为您可能会被错误淹没,并且发送许多 ajax 请求会使问题更加复杂。错误日志必须去抖动,上帝禁止你的错误跟踪代码在一些不起眼的浏览器上产生和错误。有几个 SaaS 产品的免费计划值得一看:

http://errorception.com/

http://www.exceptionhub.com/

我会尝试这些,然后如果它们不适合您的需求,那么您可以自己动手。

于 2012-07-13T04:15:23.790 回答