© 2026 LinearBytes Inc.
Search posts, tags, users, and pages
Umesh Kumar
I have created an SPA in angular 1.x, and converted it into a Hybrid App using cordova, so if user faces any problem so there will be a log created, and user can send the log to the developer.
how can i create such mechanism and add it?
Atul Sharma
Full Stack Developer | Cloud Native Applications
Override Angular's built in exception handler
var app= angular.module("myApp", [] ); app.provider('$exceptionHandler', { $get: function( errorLogService ){ return( errorLogService ); }});
Exception Logging Service, currently only used by the $exceptionHandler , posts the error server side after generating a stack-trace.
app.factory('errorLogService', ['$log', '$window', function($log, $window) { function log(exception) { $log.error.apply($log, arguments); try { var args = []; if (typeof arguments === 'object') { for (var i = 0; i < arguments.length; i++) { arg = arguments[i]; var exceptionItem = {}; exceptionItem.message = arg.message; exceptionItem.stack = arg.stack; args.push(JSON.stringify(exception)); } } $.ajax({ type: "POST", url: "./javascript-errors", contentType: "application/json", data: angular.toJson({ errorUrl: $window.location.href, errorMessage: errorMessage, stackTrace: stackTrace, cause: (cause || "") }) }); console.log('from inside the log method ' + args.join('\n') ); } catch ( loggingError ) { $log.log(loggingError); } } return (log); }]);
Now in controller, use errorLogService.error() to log error. You can either throw error and call errorLogService in catch or directly.
errorLogService.error()
errorLogService
errorLogService.error({ message: "error retrieving data", data: response.body });
Atul Sharma
Full Stack Developer | Cloud Native Applications
Override Angular's built in exception handler
var app= angular.module("myApp", [] ); app.provider('$exceptionHandler', { $get: function( errorLogService ){ return( errorLogService ); }});Exception Logging Service, currently only used by the $exceptionHandler , posts the error server side after generating a stack-trace.
app.factory('errorLogService', ['$log', '$window', function($log, $window) { function log(exception) { $log.error.apply($log, arguments); try { var args = []; if (typeof arguments === 'object') { for (var i = 0; i < arguments.length; i++) { arg = arguments[i]; var exceptionItem = {}; exceptionItem.message = arg.message; exceptionItem.stack = arg.stack; args.push(JSON.stringify(exception)); } } $.ajax({ type: "POST", url: "./javascript-errors", contentType: "application/json", data: angular.toJson({ errorUrl: $window.location.href, errorMessage: errorMessage, stackTrace: stackTrace, cause: (cause || "") }) }); console.log('from inside the log method ' + args.join('\n') ); } catch ( loggingError ) { $log.log(loggingError); } } return (log); }]);Now in controller, use
errorLogService.error()to log error. You can either throw error and callerrorLogServicein catch or directly.errorLogService.error({ message: "error retrieving data", data: response.body });