diff --git a/server/logger.js b/server/logger.js index cf112369..30dcd1e7 100644 --- a/server/logger.js +++ b/server/logger.js @@ -12,6 +12,6 @@ const transports = process.env.NODE_ENV === 'test' ] module.exports = new (winston.Logger)({ - level: process.env.LOG_LEVEL || process.env.NODE_ENV === 'development' ? 'debug' : 'info', + level: process.env.LOG_LEVEL || (process.env.NODE_ENV === 'development' ? 'debug' : 'info'), transports }) diff --git a/test/unit/logger.test.js b/test/unit/logger.test.js new file mode 100644 index 00000000..9e9c00cf --- /dev/null +++ b/test/unit/logger.test.js @@ -0,0 +1,34 @@ +'use strict' + +const {assert} = require('chai') + +describe('Logger', () => { + beforeEach(() => { + jest.resetModules() + }) + + afterEach(() => { + delete process.env.LOG_LEVEL + process.env.NODE_ENV = 'test' + }) + + it('initialises log level when specified in LOG_LEVEL', () => { + process.env.LOG_LEVEL = 'silly' + const logger = require('../../server/logger') + assert.equal(logger.level, 'silly') + }) + + it('initialises log level to debug in development', () => { + delete process.env.LOG_LEVEL + process.env.NODE_ENV = 'development' + const logger = require('../../server/logger') + assert.equal(logger.level, 'debug') + }) + + it('initialises log level to info in production', () => { + delete process.env.LOG_LEVEL + process.env.NODE_ENV = 'production' + const logger = require('../../server/logger') + assert.equal(logger.level, 'info') + }) +})