-
-
Save Chocksy/e9b2cdd4afc2aadc7989762c4b8b495a to your computer and use it in GitHub Desktop.
Sentry.js configuration for logging JavaScript exceptions to Sentry (https://sentry.io/). Without the added ignore options, you'll quickly find yourself swamped with unactionable exceptions due to shoddy browser plugins and 3rd party script errors.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Sentry.js Config --> | |
<script src="https://js.sentry-cdn.com/{{ENV['SENTRY_PUBLIC_DSN']}}.min.js" type="text/javascript"></script> | |
<script type="text/javascript"> | |
// custom functions to handle errors in JS. | |
function handleRouteError(err) { | |
Sentry.captureException(err); | |
} | |
function errorHandler(error, data, level) { | |
level = level || 'info'; | |
data = data || {}; | |
Sentry.withScope(function(scope) { | |
scope.setExtra('details', data); | |
scope.setLevel(level); | |
Sentry.captureMessage(error); | |
}); | |
} | |
// Ignore list based off: https://gist.github.com/1878283 + https://gist.github.com/impressiver/5092952 | |
var sentryOptions = { | |
environment: "production", | |
tracesSampleRate: 0.25, | |
// Will cause a deprecation warning, but the demise of `ignoreErrors` is still under discussion. | |
// See: https://github.com/getsentry/raven-js/issues/73 | |
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', | |
// Generic error code from errors outside the security sandbox | |
// You can delete this if using raven.js > 1.0, which ignores these automatically. | |
'Script error.', | |
// Avast extension error | |
"_avast_submit" | |
], | |
denyUrls: [ | |
// Google Adsense | |
/pagead\/js/i, | |
// 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 | |
] | |
}; | |
// Configure Sentry and install default handler to capture uncaught exceptions | |
Sentry.onLoad(function() { | |
Sentry.init(sentryOptions); | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
thanks!