使用 Sentry 的 Raven JS 收集所有 HTTP 错误
Use Sentry's Raven JS to collect all HTTP errors
我已经设置了一个哨兵应用程序来收集客户端可能发生的 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)));
});
Sentry docs on function wrapping 将是这方面最规范的来源,但有效地告诉您按照 Bob 所说的去做。 :)
我发现将所有可用信息组合到附加数据字段中效果最好:
$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
var new_obj= Object.assign({},jqXHR, ajaxSettings);
Raven.captureMessage(thrownError || jqXHR.statusText, {
extra: new_obj
});
});
我已经设置了一个哨兵应用程序来收集客户端可能发生的 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)));
});
Sentry docs on function wrapping 将是这方面最规范的来源,但有效地告诉您按照 Bob 所说的去做。 :)
我发现将所有可用信息组合到附加数据字段中效果最好:
$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
var new_obj= Object.assign({},jqXHR, ajaxSettings);
Raven.captureMessage(thrownError || jqXHR.statusText, {
extra: new_obj
});
});