diff --git a/config/log.js b/config/log.js index af942353..8997e6e5 100644 --- a/config/log.js +++ b/config/log.js @@ -3,20 +3,28 @@ const winston = require("winston"); require("winston-daily-rotate-file"); -module.exports = function(logFileName, logLevel) { - winston.cli(); +const winstonAttached = new Map(); - winston.level = logLevel; +module.exports = (logFileName, logLevel) => { + if (!winstonAttached.has(logFileName)) { + winston.cli(); + + winston.level = logLevel; + + winston.add(winston.transports.DailyRotateFile, { + filename: logFileName, + datePattern: "yyyy-MM-dd.", + prepend: true, + json: false, + maxSize: 1000000, + maxFiles: 7, + level: logLevel + }); - winston.add(winston.transports.DailyRotateFile, { - filename: logFileName, - datePattern: "yyyy-MM-dd.", - prepend: true, - json: false, - maxSize: 1000000, - maxFiles: 7, - level: logLevel - }); + winstonAttached.set(logFileName, winston) + + return winston; + } - return winston; + return winstonAttached.get(logFileName); };