AngularJS: serverside logging of clientside errors AngularJS: serverside logging of clientside errors angularjs angularjs

AngularJS: serverside logging of clientside errors


I'm currently using TraceKit which seems to work quite well.

Simply add this to your angular startup-code

$provide.decorator("$exceptionHandler", function($delegate) {    return function(exception, cause) {        TraceKit.report(exception);        $delegate(exception, cause);    };});

+this somewhere

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    ...}


We could use stacktrace.js by Eric Wendelin

  1. AngularJS has good error handling.
  2. stacktrace.js tries to solve important problem of getting right error information across all the browsers.

So We could create an angular wrapper around stacktrace.js which gives a comprehensive error handling.

Following are the 2 blog posts that explains very nicely, how to log client side JS error to server side using AngularJS and stacktrace.js.

  1. http://engineering.talis.com/articles/client-side-error-logging/
  2. http://www.bennadel.com/blog/2542-logging-client-side-errors-with-angularjs-and-stacktrace-js.htm


Disclaimer: Im django-based applications developer.

I can propose you using raven-based solution. It is logging agregation service with many bindings(also javascript), and great monitoring app sentry based on django.