From 471e7e669ec68df34446c2cf4ee7d406fe2e6e4e Mon Sep 17 00:00:00 2001 From: emad-salah Date: Sun, 1 Dec 2019 14:04:10 +0100 Subject: [PATCH] Fixing winston duplicate loggers issue --- config/log.js | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) 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); };