From 0ed3b5a6b6c92860a98cf4ae73f9b1750ead4301 Mon Sep 17 00:00:00 2001 From: Mike Nason Date: Sun, 23 Oct 2016 20:03:13 -0400 Subject: [PATCH] Use client LE.createLogStream for better compatibility. Closes #2. `LE.init` is deprecated and causing test failures in IE < 10. --- src/client.js | 5 ++++- src/util/client/logentriesLogger.js | 11 ++++++----- src/util/common/config.js | 12 +++++------- test/specs/requestLogger.spec.js | 1 + 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/client.js b/src/client.js index 451b656..56d7ef5 100644 --- a/src/client.js +++ b/src/client.js @@ -65,7 +65,10 @@ function getStreams(config) { streams.push({ name: 'logentries', level: config.level, - stream: new ClientLogentriesLogger({ token: config.logentriesToken }), + stream: new ClientLogentriesLogger({ + name: config.name, + token: config.logentriesToken + }), type: 'raw' }); } diff --git a/src/util/client/logentriesLogger.js b/src/util/client/logentriesLogger.js index b7b44da..2b00c04 100644 --- a/src/util/client/logentriesLogger.js +++ b/src/util/client/logentriesLogger.js @@ -7,8 +7,9 @@ import LE from 'le_js'; * @param {String} options.token * @param {String} options.level */ -export default function ClientLogentriesLogger({ token }) { - LE.init({ +export default function ClientLogentriesLogger({ name, token }) { + this.logentries = LE.createLogStream({ + name, token, no_format: true, page_info: 'per-page' @@ -22,9 +23,9 @@ export default function ClientLogentriesLogger({ token }) { */ ClientLogentriesLogger.prototype.write = function (data = {}) { const level = bunyan.nameFromLevel[data.level]; - if (isFunction(LE[level])) { - LE[level](data); + if (isFunction(this.logentries[level])) { + this.logentries[level](data); } else { - LE.log(data); + this.logentries.log(data); } }; diff --git a/src/util/common/config.js b/src/util/common/config.js index 999fafb..d745fc3 100644 --- a/src/util/common/config.js +++ b/src/util/common/config.js @@ -22,11 +22,9 @@ export const DEFAULT_CONFIG = Object.freeze({ * @returns {Object} runtimeConfig */ export function assembleConfig(config, getStreamsForRuntime) { - return Object.assign({}, - DEFAULT_CONFIG, - config, - { - streams: getStreamsForRuntime(config) - } - ); + const baseConfig = Object.assign({}, DEFAULT_CONFIG, config); + + return Object.assign(baseConfig, { + streams: getStreamsForRuntime(baseConfig) + }); } diff --git a/test/specs/requestLogger.spec.js b/test/specs/requestLogger.spec.js index 28055b5..6c25acd 100644 --- a/test/specs/requestLogger.spec.js +++ b/test/specs/requestLogger.spec.js @@ -38,6 +38,7 @@ if (typeof document === 'undefined') { cb = sinon.stub(); logger = new Logger({ + stdout: false, streams: [ { type: 'raw', stream: new TestLogger({ cb }) } ]