Javascript AngularJS:客户端错误的服务器端日志记录
我已经用angular重写了一个web应用程序。但是现在我有一个问题,那就是向服务器发送客户端错误不像Javascript AngularJS:客户端错误的服务器端日志记录,javascript,angularjs,exception,logging,error-handling,Javascript,Angularjs,Exception,Logging,Error Handling,我已经用angular重写了一个web应用程序。但是现在我有一个问题,那就是向服务器发送客户端错误不像window.onerror=function(…){…}那么容易。但这确实有助于检测错误 我使用以下代码向angular添加了一个自定义异常处理程序 $provide.decorator("$exceptionHandler", function($delegate) { return function(exception, cause) { $delegate
window.onerror=function(…){…}
那么容易。但这确实有助于检测错误
我使用以下代码向angular添加了一个自定义异常处理程序
$provide.decorator("$exceptionHandler", function($delegate) {
return function(exception, cause) {
$delegate(exception, cause);
log2server(exception + " (" + cause + ")");
};
});
但这不允许我获取异常来自的位置。如何解决这个问题,有什么提示/经验吗?我还希望有一个能够与免责声明一起使用的解决方案:基于Im django的应用程序开发人员 我可以建议您使用基于Web的解决方案。它是一个带有许多绑定的日志发布服务,以及基于django的优秀监控应用程序。我目前使用的这个应用程序似乎运行得很好 只需将其添加到角启动代码中即可
$provide.decorator("$exceptionHandler", function($delegate) {
return function(exception, cause) {
TraceKit.report(exception);
$delegate(exception, cause);
};
});
+这是什么地方
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
...
}
TraceKit.report.subscribe(函数(errorReport){
var msg='msg:'+errorReport.message+'\n\n';
msg+=“:::STACKTRACE::\n”
对于(var i=0;i
我们可以使用
AngularJS
具有良好的错误处理能力stacktrace.js
试图解决跨所有浏览器获取正确错误信息的重要问题AngularJS
和stacktrace.JS
将客户端JS错误记录到服务器端
作为参考,我们现在可以从exception对象.exception.message和exception.stack中获得堆栈跟踪信息。更多信息可以在此处找到:请参阅此处,以获得工作的stacktrace-to-home解决方案➝