Dan*_*iel 8 javascript error-handling logging exception angularjs
我用角度重写了一个Web应用程序.但现在我遇到的问题是window.onerror = function(...) { ... },将客户端错误发送到服务器并不容易.但这对检测错误非常有帮助.
我使用以下代码为angular添加了一个自定义异常处理程序
$provide.decorator("$exceptionHandler", function($delegate) {
return function(exception, cause) {
$delegate(exception, cause);
log2server(exception + " (" + cause + ")");
};
});
Run Code Online (Sandbox Code Playgroud)
但这不会让我得到异常来自的位置.任何提示/经验如何解决这个问题?我也很喜欢能够与http://stacktracejs.com/合作的解决方案
Dan*_*iel 10
我目前正在使用TraceKit,它看起来效果很好.
只需将其添加到角度启动代码即可
$provide.decorator("$exceptionHandler", function($delegate) {
return function(exception, cause) {
TraceKit.report(exception);
$delegate(exception, cause);
};
});
Run Code Online (Sandbox Code Playgroud)
+这个地方
TraceKit.report.subscribe(function(errorReport) {
var msg = 'msg: ' + errorReport.message + '\n\n';
msg +="::::STACKTRACE::::\n"
for(var i = 0; i < errorReport.stack.length; i++) {
msg += "stack[" + i + "] " + errorReport.stack[i].url + ":" + errorReport.stack[i].line + "\n";
}
// log to server
...
}
Run Code Online (Sandbox Code Playgroud)
我们可以使用Eric Wendelin的stacktrace.js
AngularJS 有很好的错误处理.stacktrace.js 试图解决在所有浏览器中获取正确错误信息的重要问题.所以我们可以在stacktrace.js周围创建一个角度包装器,它提供了全面的错误处理.
以下是2篇博文,非常好地解释了如何使用AngularJS和将客户端JS错误记录到服务器端stacktrace.js.
| 归档时间: |
|
| 查看次数: |
5873 次 |
| 最近记录: |