forked from Wavyzz/dolibarr
Using Raven.js allows logging client-side javascript errors to the configured Sentry server.
30 lines
738 B
JavaScript
30 lines
738 B
JavaScript
/**
|
|
* Ember.js plugin
|
|
*
|
|
* Patches event handler callbacks and ajax callbacks.
|
|
*/
|
|
;(function(window, Raven, Ember) {
|
|
'use strict';
|
|
|
|
// quit if Ember isn't on the page
|
|
if (!Ember) {
|
|
return;
|
|
}
|
|
|
|
var _oldOnError = Ember.onerror;
|
|
Ember.onerror = function EmberOnError(error) {
|
|
Raven.captureException(error);
|
|
if (typeof _oldOnError === 'function') {
|
|
_oldOnError.call(this, error);
|
|
}
|
|
};
|
|
Ember.RSVP.on('error', function (reason) {
|
|
if (reason instanceof Error) {
|
|
Raven.captureException(reason, {extra: {context: 'Unhandled Promise error detected'}});
|
|
} else {
|
|
Raven.captureMessage('Unhandled Promise error detected', {extra: {reason: reason}});
|
|
}
|
|
});
|
|
|
|
}(window, window.Raven, window.Ember));
|