https://github.com/patrickjs/angular-raven
A Raven.js / Sentry wrapper for Angular.js
https://github.com/patrickjs/angular-raven
Last synced: 3 months ago
JSON representation
A Raven.js / Sentry wrapper for Angular.js
- Host: GitHub
- URL: https://github.com/patrickjs/angular-raven
- Owner: PatrickJS
- License: mit
- Created: 2013-09-20T05:03:32.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2017-04-18T06:48:05.000Z (over 8 years ago)
- Last Synced: 2025-10-03T03:26:30.748Z (3 months ago)
- Language: JavaScript
- Size: 72.3 KB
- Stars: 88
- Watchers: 5
- Forks: 18
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# angular-raven [](https://travis-ci.org/gdi2290/angular-raven)
A Raven.js / Sentry wrapper for Angular.js
#How do I add this to my project?
You can download angular-raven by:
* (prefered) Using bower and running `bower install angular-raven --save`
* Using npm and running `npm install angular-raven --save`
* Downloading it manually by clicking [here to download development unminified version](https://raw.github.com/gdi2290/angular-raven/master/angular-raven.js)
````html
Raven.config('YOUR_PUBLIC_DSN', {
// Raven settings
})
.setUser({
"id": "SERVER_RENDERED_ID",
"email": "SERVER_RENDERED_EMAIL"
})
.install()
angular.module('YOUR_APP', [
'ngRaven',
'controllers'
])
.config(function($ravenProvider) {
// There is a development flag to log errors rather than sending it to Sentry
$ravenProvider.development(true);
});
angular.module('controllers', [])
.controller('MainCtrl', function($scope, $raven) {
$scope.logError = function() {
$raven.captureMessage('Error');
};
});
````
Initializing Raven.js outside of Angular allows Raven to track errors when Angular wasn't able to bootstrap correctly.
The community has compiled a list of common ignore rules for common things, like Facebook, Chrome extensions, etc.
```javascript
Raven.config('YOUR_PUBLIC_DSN', {
logger: 'javascript',
ignoreErrors: [
// Random plugins/extensions
'top.GLOBALS',
// See: http://blog.errorception.com/2012/03/tale-of-unfindable-js-error. html
'originalCreateNotification',
'canvas.contentDocument',
'MyApp_RemoveAllHighlights',
'http://tt.epicplay.com',
'Can\'t find variable: ZiteReader',
'jigsaw is not defined',
'ComboSearch is not defined',
'http://loading.retry.widdit.com/',
'atomicFindClose',
// Facebook borked
'fb_xd_fragment',
// ISP "optimizing" proxy - `Cache-Control: no-transform` seems to reduce this. (thanks @acdha)
// See http://stackoverflow.com/questions/4113268/how-to-stop-javascript-injection-from-vodafone-proxy
'bmi_SafeAddOnload',
'EBCallBackMessageReceived',
// See http://toolbar.conduit.com/Developer/HtmlAndGadget/Methods/JSInjection.aspx
'conduitPage'
],
ignoreUrls: [
// Facebook flakiness
/graph\.facebook\.com/i,
// Facebook blocked
/connect\.facebook\.net\/en_US\/all\.js/i,
// Woopra flakiness
/eatdifferent\.com\.woopra-ns\.com/i,
/static\.woopra\.com\/js\/woopra\.js/i,
// Chrome extensions
/extensions\//i,
/^chrome:\/\//i,
// Other plugins
/127\.0\.0\.1:4001\/isrunning/i, // Cacaoweb
/webappstoolbarba\.texthelp\.com\//i,
/metrics\.itunes\.apple\.com\.edgesuite\.net\//i
]
}).install();