serverless/lib/utils/sentry.js
2017-05-26 16:17:59 -07:00

48 lines
1.1 KiB
JavaScript

const raven = require('raven');
const ci = require('ci-info');
const configUtils = require('./config');
const pkg = require('./../../package.json');
const DSN = 'https://cbb3655b343a49ee9a18494d0dd171a7:4b9ef9a2c5eb40379f30b5e6808d3814@sentry.io/165477';
const SLS_DISABLE_ERROR_TRACKING = process.env.SLS_DISABLE_ERROR_TRACKING === 'true';
const IS_CI = ci.isCI;
function initializeErrorReporter() {
const config = configUtils.getConfig();
const trackingDisabled = config.trackingDisabled;
// exit if tracking disabled or inside CI system
if (SLS_DISABLE_ERROR_TRACKING || trackingDisabled || IS_CI) {
// console.log('tracking off')
return false;
}
// initialize Error tracking
raven.config(DSN, {
environment: 'production',
autoBreadcrumbs: true,
release: pkg.version,
extra: {
frameworkId: config.frameworkId,
},
});
if (config.userId) {
raven.setContext({
user: {
id: config.userId,
},
});
}
raven.disableConsoleAlerts();
raven.install();
return true;
}
module.exports.initializeErrorReporter = initializeErrorReporter;
module.exports.raven = raven;