const logger = require('winston'); function LoggerConfig () { this.logLevel = 'debug'; this.update = (config) => { if (!config) { return logger.warn('No logger config received.'); } logger.info('configuring winston logger...'); // update values with local config params const {logLevel} = config; this.logLevel = logLevel; // configure the winston logger logger.configure({ transports: [ new (logger.transports.Console)({ level : this.logLevel, timestamp : false, colorize : true, prettyPrint : true, handleExceptions : true, humanReadableUnhandledException: true, }), ], }); // test all the log levels logger.info('testing winston log levels...'); logger.error('Level 0'); logger.warn('Level 1'); logger.info('Level 2'); logger.verbose('Level 3'); logger.debug('Level 4'); logger.silly('Level 5'); }; }; module.exports = new LoggerConfig();