angular-raven travis-ci grunt Bower npm

A Raven.js / Sentry wrapper for Angular.js & Ionic

3 years after

angular-raven Build Status

A Raven.js / Sentry wrapper for Angular.js

How do I add this to my project?

You can download angular-raven by:

<body ng-app="YOUR_APP" ng-controller="MainCtrl">
  <a href="#error" ng-click="logError()">Log Error</a>
</body>
<script src="http://cdnjs.cloudflare.com/ajax/libs/raven.js/1.0.8/raven.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
<script>
  Raven.config('YOUR_PUBLIC_DSN', {
      // Raven settings
    })
    .setUser({
      "id": "SERVER_RENDERED_ID",
      "email": "SERVER_RENDERED_EMAIL"
    })
    .install()
</script>
<script src="app/bower_components/angular-raven/angular-raven.js"></script>

<script>
  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');
      };
    });
</script>

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.


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();

Related Repositories

awesome-redux

awesome-redux

Awesome list of Redux examples and middlewares ...

awesome-flask

awesome-flask

A curated list of awesome Flask resources and plugins ...

redux-sentry

redux-sentry

Middleware that logs all your store and actions on exception to Sentry with rave ...

awesome-redux

awesome-redux

Awesome list of Redux examples and middlewares ...

awesome-flask

awesome-flask

A curated list of awesome Flask resources and plugins ...


Top Contributors

gdi2290 rebelliard denstepa rkeilty thatguyyoulove danilo-valente michaeldjeffrey mcnocopo rike422

Releases

-   v0.6.1 zip tar
-   v0.6.0 zip tar
-   v0.5.11 zip tar
-   v0.5.10 zip tar
-   v0.5.9 zip tar
-   v0.5.8 zip tar
-   v0.5.7 zip tar
-   v0.5.6 zip tar
-   v0.5.5 zip tar
-   v0.5.4 zip tar
-   v0.5.3 zip tar
-   v0.5.2 zip tar
-   v0.5.1 zip tar
-   v0.5.0 zip tar
-   v0.0.4 zip tar
-   v0.0.2 zip tar
-   0.6 zip tar