diff --git a/config/index.js.example b/config/index.js.example index 76160bcf..bcd2a263 100644 --- a/config/index.js.example +++ b/config/index.js.example @@ -18,6 +18,10 @@ const config = { url: 'http://oms-mailer', port: 4000 }, + logger: { + silent: false, + level: process.env.LOGLEVEL || 'debug' + }, bugsnagKey: process.env.BUGSNAG_KEY || '' }, development: { @@ -30,6 +34,9 @@ const config = { database: 'discounts-testing', password: process.env.PG_PASSWORD || 'postgres', }, + logger: { + silent: (typeof process.env.ENABLE_LOGGING !== 'undefined') ? (!process.env.ENABLE_LOGGING) : true + }, bugsnagKey: 'CHANGEME' } }; diff --git a/lib/logger.js b/lib/logger.js index 4822bc9e..69d3954a 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -1,10 +1,10 @@ const winston = require('winston'); -// Setting logLevel to warn in case of testing, to display only errors and warnings. -const logLevel = process.env.NODE_ENV === 'test' ? 'warn' : 'debug'; +const config = require('../config'); const logger = winston.createLogger({ - level: logLevel, + level: config.logger.level, + silent: config.logger.silent, format: winston.format.json(), transports: [ new winston.transports.Console({ @@ -13,7 +13,7 @@ const logger = winston.createLogger({ winston.format.timestamp(), winston.format.align(), winston.format.splat(), - winston.format.printf((info) => `${info.timestamp} [${info.level}]: ${info.message}`), + winston.format.printf(info => `${info.timestamp} [${info.level}]: ${info.message}`), ) }) ] diff --git a/lib/server.js b/lib/server.js index 0ba98699..2d9868c3 100644 --- a/lib/server.js +++ b/lib/server.js @@ -54,6 +54,7 @@ server.use(middlewares.errorHandler); let app; async function startServer() { return new Promise((res, rej) => { + log.info('Starting server with the following config: %o', config); const localApp = server.listen(config.port, async () => { app = localApp; log.info('Up and running, listening on http://localhost:%d', config.port);