Skip to content

Instantly share code, notes, and snippets.

@maxmckenzie
Created July 29, 2016 15:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maxmckenzie/2e6511ec54cb5ee6aaac9257722f2864 to your computer and use it in GitHub Desktop.
Save maxmckenzie/2e6511ec54cb5ee6aaac9257722f2864 to your computer and use it in GitHub Desktop.
/* eslint-disable no-console */
import raven from 'raven';
/*
To Use
import logger from './logger';
logger.error('test error');
logger.debug('test debug');
logger.warning('test warning');
logger.fatal('test fatal');
> This example uses global environment configurations
*/
// set up raven client
const client = new raven.Client(process.env.DSM);
// patch global node errors
client.patchGlobal();
// fire an event when a call is successfully made
client.on('logged', () => {
console.log(`Successfully logged to: ${client.dsn.host}`);
});
// fire an event when a call fails to be made
client.on('error', (e) => {
console.log(`Failed to log to: ${client.dsn.host}
reason: ${e.reason}
statusCode: ${e.statusCode}
responce: ${e.response}
`);
});
// Set tags such as env (development/production)
client.setTagsContext({
environment: process.env.NODE_ENV,
});
// Hook all event level types and expose them as a node module export pattern
exports.info = (data) => {
client.captureMessage(data, {
level: 'info',
});
console.log(data);
};
exports.error = (data) => {
client.captureException(data, {
level: 'error',
});
console.log(data);
};
exports.warning = (data) => {
client.captureMessage(data, {
level: 'warning',
});
console.log(data);
};
exports.debug = (data) => {
client.captureMessage(data, {
level: 'debug',
});
console.log(data);
};
exports.fatal = (data) => {
client.captureMessage(data, {
level: 'fatal',
});
console.log(data);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment