0
我在角JS新手,已經創造了角的js的項目,並希望保持登錄服務器在客戶端存在的所有問題。登錄客戶端錯誤在服務器端使用角JS
通過各種博客飄,發現幾個建議爲應用棧的js,但無法理解相同的實施。
請建議是否可以從客戶端的一個單點登錄項目中的所有錯誤,請在服務器通過工廠或服務的方法採用了棱角分明的js。
我在角JS新手,已經創造了角的js的項目,並希望保持登錄服務器在客戶端存在的所有問題。登錄客戶端錯誤在服務器端使用角JS
通過各種博客飄,發現幾個建議爲應用棧的js,但無法理解相同的實施。
請建議是否可以從客戶端的一個單點登錄項目中的所有錯誤,請在服務器通過工廠或服務的方法採用了棱角分明的js。
這可能是通過覆蓋$ exceptionHandler中構建的angulars。下面是我自己的應用程序中的代碼片段,它將任何失敗記錄到後端,但也會將它們打印到控制檯中,以防後端日誌記錄失敗。當我的JavaScript被縮小時,我使用StackTrace將它變回一個未縮小的堆棧跟蹤,並將其發送到我的後端。
function exceptionLoggingService($injector) {
function error(exception, cause) {
// preserve the default behaviour which will log the error
// to the console, and allow the application to continue running.
var $log = $injector.get('$log');
var $window = $injector.get('$window');
$log.error.apply($log, arguments);
var errorMessage = exception.toString();
StackTrace.fromError(exception).then(function (arrayStack) {
var exceptionData = angular.toJson({
errorUrl: $window.location.href,
errorMessage: errorMessage,
stackTrace: arrayStack,
cause: (cause || "")
});
// now post this exceptionData to your backend
}).catch(function (backendLoggingError) {
$log.warn("Error logging failure.");
$log.log(backendLoggingError);
});
}
return(error);
}
angular.module('dashboard-ui').factory('$exceptionHandler', ['$injector', exceptionLoggingService])