使用 Sentry 的 Raven JS 收集所有 HTTP 错误



我已经设置了一个哨兵应用程序来收集客户端可能发生的HTTP/JS错误。但是,似乎当我尝试发出大约 400 个 HTTP 请求时,Sentry 未能相应地捕获请求。

这是 Sentry 的默认行为,还是我的代码中缺少某些内容(如下)?

<!DOCTYPE html>
<html>
    <head>
            <title>Hi there</title>
            <script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
            <script src="https://cdn.ravenjs.com/2.1.1/raven.min.js"></script>
            <script>Raven.config('http://xxx@xxx.xxxxx.com/4').install();</script>
    </head>
    <body>
        Hello the world :-)
        <script type="text/javascript">
            $.get("http://somehttp400url.com/");
        </script>
    </body>
</html>

感谢您的反馈

您可以使用

ajaxError处理程序(https://api.jquery.com/ajaxError/):

$( document ).ajaxError(function( event, request, settings ) {
  Raven.captureException(new Error(JSON.stringify(request)));
});

关于函数包装的哨兵文档将是这方面的最规范的来源,但有效地告诉你按照 Bob 所说的去做。 :)

我发现将所有可用信息结合到其他数据字段中效果最好:

$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
  var new_obj= Object.assign({},jqXHR, ajaxSettings);
  Raven.captureMessage(thrownError || jqXHR.statusText, {
        extra: new_obj
  });
});

相关内容

  • 没有找到相关文章

最新更新