2
0
forked from Wavyzz/dolibarr
Files
dolibarr-fork/htdocs/includes/raven-js/plugins/angular.js
Raphaël Doursenaud a6ef289470 New Added client-side Sentry logging
Using Raven.js allows logging client-side javascript errors to the
configured Sentry server.
2015-09-04 19:10:46 +02:00

37 lines
865 B
JavaScript

/**
* Angular.js plugin
*
* Provides an $exceptionHandler for Angular.js
*/
;(function(Raven, angular) {
'use strict';
// quit if angular isn't on the page
if (!angular) {
return;
}
function ngRavenProvider($provide) {
$provide.decorator('$exceptionHandler', [
'RavenConfig', '$delegate',
ngRavenExceptionHandler
]);
}
function ngRavenExceptionHandler(RavenConfig, $delegate) {
if (!RavenConfig)
throw new Error('RavenConfig must be set before using this');
Raven.config(RavenConfig.dsn, RavenConfig.config).install();
return function angularExceptionHandler(ex, cause) {
$delegate(ex, cause);
Raven.captureException(ex, {extra: {cause: cause}});
};
}
angular.module('ngRaven', [])
.config(['$provide', ngRavenProvider])
.value('Raven', Raven);
})(window.Raven, window.angular);