Skip to content

Instantly share code, notes, and snippets.

@Chocksy
Forked from impressiver/raven-config.html
Last active September 12, 2024 09:14
Show Gist options
  • Save Chocksy/e9b2cdd4afc2aadc7989762c4b8b495a to your computer and use it in GitHub Desktop.
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.
<!-- 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>
@EduardoMateos
Copy link

thanks!

@sunnylum
Copy link

sunnylum commented Dec 9, 2022

Nice! Thanks! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment