diff --git a/src/client.js b/src/client.js index f0688b2..8c933fc 100644 --- a/src/client.js +++ b/src/client.js @@ -1,12 +1,12 @@ -/** - * @module we-js-logger/client - * @description A logger than can be used in browsers - */ import Logger from './util/common/logger'; import ClientConsoleLogger from './util/client/consoleLogger'; import ClientLogentriesLogger from './util/client/logentriesLogger'; import ClientRollbarLogger from './util/client/rollbarLogger'; +/** + * @module we-js-logger/client + * @description A logger than can be used in browsers + */ export default class ClientLogger extends Logger { getStreams() { // Any passed in streams diff --git a/src/util/client/rollbarLogger.js b/src/util/client/rollbarLogger.js index d92cf29..9ba9ab3 100644 --- a/src/util/client/rollbarLogger.js +++ b/src/util/client/rollbarLogger.js @@ -1,8 +1,12 @@ import Rollbar from 'rollbar'; import bunyan from 'bunyan'; import omit from 'lodash/omit'; +import get from 'lodash/get'; import { bunyanLevelToRollbarLevelName } from '../common/rollbar'; +// An unconfigured Rollbar has an accessToken of "undefined" by default +const isGlobalRollbarConfigured = () => _.get(global.Rollbar, 'options.accessToken', 'undefined') !== 'undefined'; + /** * Custom rollbar stream that transports to logentries from a browser * Includes logic for handling global Rollbar instance, else initializing Rollbar here. @@ -14,7 +18,7 @@ import { bunyanLevelToRollbarLevelName } from '../common/rollbar'; * @param {String} options.codeVersion */ export default function RollbarLogger({ token, environment, codeVersion }) { - if (global.Rollbar && global.Rollbar.options.accessToken && global.Rollbar.accessToken !== 'undefined') { + if (global.Rollbar && isGlobalRollbarConfigured()) { // Rollbar is loaded globally (ie, the quick-start snippet has been pasted into the document's head) } else { // Init Rollbar here