From d38ee58ec44b61683b083a80c5a9acc73911f005 Mon Sep 17 00:00:00 2001 From: Josh Harvey Date: Tue, 6 Dec 2016 02:30:04 +0200 Subject: [PATCH] suppress winston on polling --- lib/logger.js | 7 ++----- lib/options.js | 7 ++++++- lib/routes.js | 10 ++++++++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/logger.js b/lib/logger.js index b90b7634..ff1d9411 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -1,11 +1,8 @@ const winston = require('winston') - -var logLevel = typeof process.env.LAMASSU_ENV === 'string' -? process.env.LAMASSU_ENV -: 'info' +const options = require('./options') const logger = new winston.Logger({ - level: logLevel, + level: options.logLevel, transports: [ new (winston.transports.Console)({timestamp: true, colorize: true}) ] diff --git a/lib/options.js b/lib/options.js index 78ba350c..4445c783 100644 --- a/lib/options.js +++ b/lib/options.js @@ -1,6 +1,8 @@ const fs = require('fs') const path = require('path') const os = require('os') +const _ = require('lodash/fp') +const argv = require('minimist')(process.argv.slice(2)) let serverConfig @@ -17,4 +19,7 @@ try { } } -module.exports = serverConfig +const defaults = {logLevel: 'info'} +const commandLine = {logLevel: argv.logLevel} + +module.exports = _.mergeAll([defaults, serverConfig, commandLine]) diff --git a/lib/routes.js b/lib/routes.js index 97d72d8b..756b8cb8 100644 --- a/lib/routes.js +++ b/lib/routes.js @@ -4,6 +4,9 @@ const morgan = require('morgan') const helmet = require('helmet') const bodyParser = require('body-parser') const BigNumber = require('bignumber.js') +const _ = require('lodash/fp') + +const options = require('./options') const logger = require('./logger') const configManager = require('./config-manager') const db = require('./db') @@ -24,7 +27,6 @@ const pids = {} const reboots = {} function poll (req, res, next) { - console.log('DEBUG77') const deviceId = req.deviceId const deviceTime = req.deviceTime const pid = req.query.pid @@ -315,6 +317,10 @@ function authorize (req, res, next) { function init (opts) { plugins = opts.plugins + const skip = options.logLevel === 'debug' + ? () => false + : req => _.includes(req.path, ['/poll', '/state']) + const app = opts.app const localApp = opts.localApp @@ -322,7 +328,7 @@ function init (opts) { ? (req, res, next) => next() : authorize - app.use(morgan('dev')) + app.use(morgan('dev', {skip})) app.use(helmet()) app.use(populateDeviceId) app.use(bodyParser.json())