Skip to content

Commit

Permalink
Style updates to adhere to eslint-config-wework
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Nason committed Feb 10, 2017
1 parent 68ca93e commit c059822
Show file tree
Hide file tree
Showing 22 changed files with 155 additions and 148 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
"babel-polyfill": "6.22.0",
"babel-preset-es2015": "6.22.0",
"babel-preset-stage-0": "6.22.0",
"babel-register": "6.22.0",
"benchmark": "2.1.3",
"chai": "3.5.0",
"coveralls": "2.11.16",
Expand Down
67 changes: 33 additions & 34 deletions src/client.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,15 @@
'use strict';

import bunyan from 'bunyan';

// Safe console access for oldIE
import console from 'console';

import logForLevel from './util/common/logForLevel';
import { assembleConfig, toBunyanConfig, BUNYAN_LOGGER_LEVELS } from './util/common/config';

import ClientConsoleLogger from './util/client/consoleLogger';
import ClientLogentriesLogger from './util/client/logentriesLogger';
import ClientRollbarLogger, { isGlobalRollbarConfigured } from './util/client/rollbarLogger';

// Safe console access for oldIE
import console from 'console';

/**
* A logger than can be used in browsers
* @param {Object} config - we-js-logger config
* @param {Object?} logger - an instance of a `bunyan` logger to use internally.
* this is meant to be used by the `child` method.
*/
export default function ClientLogger(config = {}, logger) {
const clientConfig = assembleConfig(config, getStreams);
logger = logger || bunyan.createLogger(toBunyanConfig(clientConfig));

this._config = config;
this._logger = logger;
}

ClientLogger.prototype.child = function () {
const childLogger = this._logger.child.apply(this._logger, arguments);
return new ClientLogger(this._config, childLogger);
}

// Dynamically hoist + wrap bunyan log instance methods (logger.info, logger.warn, etc)
BUNYAN_LOGGER_LEVELS.forEach(level => {
ClientLogger.prototype[level] = logForLevel(level);
});


/**
* Add standard Client logger streams to `config.streams`
* @private
Expand All @@ -56,7 +29,7 @@ function getStreams(config) {
name: 'stdout',
level: config.level,
stream: new ClientConsoleLogger(),
type: 'raw'
type: 'raw',
});
}

Expand All @@ -73,7 +46,7 @@ function getStreams(config) {
environment: config.environment,
codeVersion: config.codeVersion,
}),
type: 'raw'
type: 'raw',
});
}
} else {
Expand All @@ -89,11 +62,37 @@ function getStreams(config) {
level: config.level,
stream: new ClientLogentriesLogger({
name: config.name,
token: config.logentriesToken
token: config.logentriesToken,
}),
type: 'raw'
type: 'raw',
});
}

return streams;
}

/**
* A logger than can be used in browsers
* @param {Object} config - we-js-logger config
* @param {Object?} logger - an instance of a `bunyan` logger to use internally.
* this is meant to be used by the `child` method.
*/
export default function ClientLogger(config = {}, logger) {
const clientConfig = assembleConfig(config, getStreams);
logger = logger || bunyan.createLogger(toBunyanConfig(clientConfig)); // eslint-disable-line no-param-reassign

this._config = config;
this._logger = logger;
}

/* eslint-disable prefer-spread, prefer-rest-params */
ClientLogger.prototype.child = function () {
const childLogger = this._logger.child.apply(this._logger, arguments);
return new ClientLogger(this._config, childLogger);
};
/* eslint-enable */

// Dynamically hoist + wrap bunyan log instance methods (logger.info, logger.warn, etc)
BUNYAN_LOGGER_LEVELS.forEach((level) => {
ClientLogger.prototype[level] = logForLevel(level);
});
72 changes: 37 additions & 35 deletions src/node.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,14 @@
'use strict';

import bunyan from 'bunyan';
import Rollbar from 'rollbar';
import bunyanFormat from 'bunyan-format';

import { assembleConfig, toBunyanConfig, BUNYAN_LOGGER_LEVELS } from './util/common/config';
import logForLevel from './util/common/logForLevel';

import Rollbar from 'rollbar';
import bunyanFormat from 'bunyan-format';
import ServerRollbarLogger from './util/server/rollbarLogger';
import ServerLogentriesLogger from './util/server/logentriesLogger';
import createRequestLogger from './util/server/requestLogger';

/**
* A logger than can be used in node processes
* @param {Object} config - we-js-logger config
* @param {Object?} logger - an instance of a `bunyan` logger to use internally.
* this is meant to be used by the `child` method.
*/
export default function NodeLogger(config = {}, logger) {
const serverConfig = assembleConfig(config, getStreams);
logger = logger || bunyan.createLogger(toBunyanConfig(serverConfig));

this._config = config;
this._logger = logger;

// Server-specific extras
this.requestLogger = createRequestLogger(this, serverConfig);
this.rollbarErrorMiddleware = Rollbar.errorHandler(serverConfig.rollbarToken);
}

NodeLogger.prototype.child = function () {
const childLogger = this._logger.child.apply(this._logger, arguments);
return new NodeLogger(this._config, childLogger);
}

// Dynamically hoist + wrap bunyan log instance methods (logger.info, logger.warn, etc)
BUNYAN_LOGGER_LEVELS.forEach(level => {
NodeLogger.prototype[level] = logForLevel(level);
});

/**
* Add standard Node logger streams to `config.streams`
* @private
Expand All @@ -57,7 +27,7 @@ function getStreams(config) {
name: 'stdout',
level: config.level,
stream: bunyanFormat({ outputMode: 'short' }),
type: 'stream'
type: 'stream',
});
}

Expand All @@ -73,7 +43,7 @@ function getStreams(config) {
environment: config.environment,
codeVersion: config.codeVersion,
}),
type: 'raw'
type: 'raw',
});
}

Expand All @@ -82,9 +52,41 @@ function getStreams(config) {
streams.push(new ServerLogentriesLogger({
name: config.name,
token: config.logentriesToken,
level: config.level
level: config.level,
}));
}

return streams;
}

/**
* A logger than can be used in node processes
* @param {Object} config - we-js-logger config
* @param {Object?} logger - an instance of a `bunyan` logger to use internally.
* this is meant to be used by the `child` method.
*/
export default function NodeLogger(config = {}, logger) {
const serverConfig = assembleConfig(config, getStreams);
logger = logger || bunyan.createLogger(toBunyanConfig(serverConfig)); // eslint-disable-line no-param-reassign

this._config = config;
this._logger = logger;

// Server-specific extras
this.requestLogger = createRequestLogger(this, serverConfig);
this.rollbarErrorMiddleware = Rollbar.errorHandler(serverConfig.rollbarToken);
}

/* eslint-disable prefer-spread, prefer-rest-params */
NodeLogger.prototype.child = function () {
const childLogger = this._logger.child.apply(this._logger, arguments);
return new NodeLogger(this._config, childLogger);
};
/* eslint-enable */

// Dynamically hoist + wrap bunyan log instance methods (logger.info, logger.warn, etc)
BUNYAN_LOGGER_LEVELS.forEach((level) => {
NodeLogger.prototype[level] = logForLevel(level);
});


2 changes: 1 addition & 1 deletion src/util/client/logentriesLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default function ClientLogentriesLogger({ name, token }) {
name,
token,
no_format: true,
page_info: 'per-page'
page_info: 'per-page',
});
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/util/client/rollbarLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ export default function ClientRollbarLogger({ token, environment, codeVersion })
environment,
javascript: {
code_version: codeVersion,
source_map_enabled: true
}
source_map_enabled: true,
},
},
});
}
Expand Down
2 changes: 1 addition & 1 deletion src/util/common/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export function assembleConfig(config, getStreamsForRuntime) {

// Add our custom streams and return a full `we-js-logger` config object
return Object.assign(baseConfig, {
streams: getStreamsForRuntime(baseConfig)
streams: getStreamsForRuntime(baseConfig),
});
}

Expand Down
4 changes: 3 additions & 1 deletion src/util/common/logForLevel.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint-disable prefer-spread */

import scrub from './scrub';

/**
Expand All @@ -16,5 +18,5 @@ export default function logForLevel(level) {
*/
return function logIt(...args) {
return this._logger[level].apply(this._logger, scrub(args, this._config, this._logger));
}
};
}
4 changes: 3 additions & 1 deletion src/util/common/rollbar.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint-disable import/prefer-default-export */

import bunyan from 'bunyan';

/**
Expand All @@ -12,7 +14,7 @@ const bunyanToRollbarLevelMap = {
warn: 'warning',
info: 'info',
debug: 'debug',
trace: 'debug'
trace: 'debug',
};

/**
Expand Down
2 changes: 1 addition & 1 deletion src/util/common/scrub.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function handleContext(data, config = {}, logger) {
export default function scrub(args, config = {}, logger) {
if (Array.isArray(config.scrubFields) && config.scrubFields.length) {
if (isObject(args[0])) {
return [handleContext(args[0], config, logger), ...hideSecrets(tail(args), getScrubConfig(config))]
return [handleContext(args[0], config, logger), ...hideSecrets(tail(args), getScrubConfig(config))];
}

return hideSecrets(args, getScrubConfig(config));
Expand Down
2 changes: 1 addition & 1 deletion src/util/server/logentriesLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default function ServerLogentriesLogger({ name, token, level }) {
name,
token,
secure: true,
withStack: true
withStack: true,
});
loggerDefinition.level = level;

Expand Down
6 changes: 3 additions & 3 deletions src/util/server/requestLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default function createRequestLogger(logger, { reqIdHeader = DEFAULT_HEAD
let log = logger.child({ component: 'request', req_id: id, req });

// attach a logger to each request
req.log = log;
req.log = log; // eslint-disable-line no-param-reassign

res.setHeader(reqIdHeader, id);

Expand All @@ -35,11 +35,11 @@ export default function createRequestLogger(logger, { reqIdHeader = DEFAULT_HEAD
const time = process.hrtime();
res.on('finish', () => {
const diff = process.hrtime(time);
const duration = diff[0] * 1e3 + diff[1] * 1e-6;
const duration = diff[0] * 1e3 + diff[1] * 1e-6; // eslint-disable-line no-mixed-operators
log.info({ res, duration }, 'end request');

// Release the request logger for GC
req.log = null;
req.log = null; // eslint-disable-line no-param-reassign
log = null;
});

Expand Down
28 changes: 14 additions & 14 deletions test/benchmark/index.js
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
/* eslint-disable no-console */

const Benchmark = require('benchmark')
const Benchmark = require('benchmark');
const bunyan = require('bunyan');
const WeLogger = require('../..');

var suite = new Benchmark.Suite();
const suite = new Benchmark.Suite();

const weLogger = new WeLogger({ stdout: false });
const weLoggerScrub = new WeLogger({ stdout: false, scrubFields: ['foo'] });
const bunyanLogger = bunyan.createLogger({ name: 'bunyan', streams: [] });

const context = {
data: { some: 'stuff' },
foo: 'bar'
foo: 'bar',
};
const msg = 'hello world';
const msgExtra = { pretty: 'print me please' };

suite
.add('we-js-logger', function() {
.add('we-js-logger', () => {
weLogger.info(context, msg, msgExtra);
})
.add('we-js-logger child', function() {
.add('we-js-logger child', () => {
const log = weLogger.child();
log.info(context, msg, msgExtra);
})
.add('we-js-logger (with scrub fields)', function() {
weLoggerScrub.info(context, msg, msgExtra)
.add('we-js-logger (with scrub fields)', () => {
weLoggerScrub.info(context, msg, msgExtra);
})
.add('we-js-logger child (with scrub fields)', function() {
.add('we-js-logger child (with scrub fields)', () => {
const log = weLoggerScrub.child();
log.info(context, msg, msgExtra);
})
.add('bunyan', function() {
.add('bunyan', () => {
bunyanLogger.info(context, msg, msgExtra);
})
.add('bunyan child', function() {
.add('bunyan child', () => {
const log = bunyanLogger.child();
log.info(context, msg, msgExtra);
})
// add listeners
.on('cycle', function(event) {
.on('cycle', (event) => {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
.on('complete', function () {
console.log(`Fastest is ${this.filter('fastest').map('name')}`);
})
// run async
.run({ 'async': true });
.run({ async: true });
Loading

0 comments on commit c059822

Please sign in to comment.