'use strict'; const winston = require('winston'); require('winston-daily-rotate-file'); const args = require('./cli')(); const logger = winston.createLogger({ level: args.logLevel, format: winston.format.combine( winston.format.timestamp(), winston.format.json(), ), transports: [ new winston.transports.Console({ level: args.logLevel, format: winston.format.combine( winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.colorize(), winston.format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`), ), timestamp: true, }), new winston.transports.DailyRotateFile({ datePattern: 'YYYY-MM-DD', filename: 'logs/%DATE%.log', }), new winston.transports.DailyRotateFile({ datePattern: 'YYYY-MM-DD', filename: 'logs/error_%DATE%.log', level: 'error', }), ], }); function getLogger() { return logger; } module.exports = getLogger;