Skip to content

Commit

Permalink
Refactor [Client|Server]RollbarLogger to work with notifier API changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Nason committed Nov 7, 2017
1 parent 9ca7386 commit dd44c1c
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 16 deletions.
1 change: 0 additions & 1 deletion rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ export default {
'bunyan',
'bunyan-format',
'hide-secrets',
'lodash/isError',
'lodash/isFunction',
'lodash/isObject',
'lodash/mapValues',
Expand Down
11 changes: 9 additions & 2 deletions src/util/client/rollbarLogger.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import omit from 'lodash/omit';
import get from 'lodash/get';
import isFunction from 'lodash/isFunction';

import { bunyanLevelToRollbarLevelName } from '../common/rollbar';

// Rollbar script exposes this global immediately, whether or not its already initialized
Expand Down Expand Up @@ -43,6 +45,11 @@ ClientRollbarLogger.prototype.write = function (data = {}) {
const rollbarLevelName = bunyanLevelToRollbarLevelName(data.level);
const scopeData = omit(data, ['req', 'level']);

// https://rollbar.com/docs/notifier/rollbar.js/#usage
global.Rollbar.scope(scopeData)[rollbarLevelName](data.msg, data.err);
// https://rollbar.com/docs/notifier/rollbar.js/#rollbarlog
const logFn = global.Rollbar[rollbarLevelName];
if (isFunction(logFn)) {
logFn(data.msg, data.err, scopeData);
} else {
global.Rollbar.error(data.msg, data.err, scopeData);
}
};
17 changes: 4 additions & 13 deletions src/util/server/rollbarLogger.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Rollbar from 'rollbar';
import omit from 'lodash/omit';
import isError from 'lodash/isError';
import isFunction from 'lodash/isFunction';
import { bunyanLevelToRollbarLevelName } from '../common/rollbar';

Expand Down Expand Up @@ -37,20 +36,12 @@ ServerRollbarLogger.prototype.write = function (data = {}) {
const scopeData = omit(data, ['req', 'level']);
const payload = Object.assign({ level: rollbarLevelName }, scopeData);

// https://rollbar.com/docs/notifier/rollbar.js/#rollbarlog-1
const logFn = Rollbar[rollbarLevelName];

if (data.err && isError(data.err)) {
if (isFunction(logFn)) {
logFn(data.err, data.req, payload);
} else {
Rollbar.error(data.err, data.req, payload);
}
if (isFunction(logFn)) {
logFn(data.msg, data.err, data.req, payload);
} else {
// eslint-disable-next-line no-lonely-if
if (isFunction(logFn)) {
logFn(data.msg, data.req, payload);
} else {
Rollbar.log(data.msg, data.req, payload);
}
Rollbar.error(data.msg, data.err, data.req, payload);
}
};

0 comments on commit dd44c1c

Please sign in to comment.