diff --git a/src/logger.js b/src/logger.js index f428049c..b4c6f6b2 100644 --- a/src/logger.js +++ b/src/logger.js @@ -10,7 +10,31 @@ if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') { } let currentLogsFolder = LOGS_FOLDER; -var currentTransports; + +function generateTransports() { + let level = process.env.VERBOSE ? 'verbose': 'info'; + let transports = [ + new (DailyRotateFile)({ + filename: 'parse-server.info', + dirname: currentLogsFolder, + name: 'parse-server', + level: level + }), + new (DailyRotateFile)({ + filename: 'parse-server.err', + dirname: currentLogsFolder, + name: 'parse-server-error', + level: 'error' + }) + ] + if (!process.env.TESTING) { + transports = [new (winston.transports.Console)({ + colorize: true, + level:level + })].concat(transports); + } + return transports; +} const logger = new winston.Logger(); @@ -25,27 +49,8 @@ export function configureLogger({logsFolder}) { } currentLogsFolder = logsFolder; - currentTransports = [ - new (winston.transports.Console)({ - colorize: true, - level: process.env.VERBOSE ? 'verbose': 'info' - }), - new (DailyRotateFile)({ - filename: 'parse-server.info', - dirname: currentLogsFolder, - name: 'parse-server', - level: process.env.VERBOSE ? 'verbose': 'info' - }), - new (DailyRotateFile)({ - filename: 'parse-server.err', - dirname: currentLogsFolder, - name: 'parse-server-error', - level: 'error' - }) - ] - logger.configure({ - transports: currentTransports + transports: generateTransports() }) } @@ -53,34 +58,19 @@ configureLogger({logsFolder: LOGS_FOLDER}); export function addGroup(groupName) { let level = process.env.VERBOSE ? 'verbose': 'info'; + + let transports = generateTransports().concat(new (DailyRotateFile)({ + filename: groupName, + dirname: currentLogsFolder, + name: groupName, + level: level + })); + winston.loggers.add(groupName, { - transports: [ - new (winston.transports.Console)({ - colorize: true, - level: level - }), - new (DailyRotateFile)({ - filename: groupName, - dirname: currentLogsFolder, - name: groupName, - level: level - }), - new (DailyRotateFile)({ - filename: 'parse-server.info', - name: 'parse-server', - dirname: currentLogsFolder, - level: level - }), - new (DailyRotateFile)({ - filename: 'parse-server.err', - dirname: currentLogsFolder, - name: 'parse-server-error', - level: 'error' - }) - ] + transports: transports }); return winston.loggers.get(groupName); } export { logger }; -export default winston; +export default logger;