X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FLogger.ts;h=5a98ed990dad3117e9c0257013fb2e43c80d0b98;hb=2e3d65ae7245bce98c6a29be76985503dc6de29b;hp=61a3ec0d3b9a9c141526cd3f293e6050da871bbc;hpb=28e6dd3a9fd0db84953aa8d149d0a19fadc63554;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index 61a3ec0d..5a98ed99 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -3,14 +3,30 @@ import { Logger, createLogger, format, transport } from 'winston'; import Configuration from './Configuration'; import DailyRotateFile from 'winston-daily-rotate-file'; +import { Format } from 'logform'; import Utils from './Utils'; let transports: transport[]; if (Configuration.getLogRotate()) { const logMaxFiles = Configuration.getLogMaxFiles(); transports = [ - new DailyRotateFile({ filename: Utils.insertAt(Configuration.getLogErrorFile(), '-%DATE%', Configuration.getLogErrorFile().indexOf('.log')), level: 'error', maxFiles: logMaxFiles }), - new DailyRotateFile({ filename: Utils.insertAt(Configuration.getLogFile(), '-%DATE%', Configuration.getLogFile().indexOf('.log')), maxFiles: logMaxFiles }), + new DailyRotateFile({ + filename: Utils.insertAt( + Configuration.getLogErrorFile(), + '-%DATE%', + Configuration.getLogErrorFile().indexOf('.log') + ), + level: 'error', + maxFiles: logMaxFiles, + }), + new DailyRotateFile({ + filename: Utils.insertAt( + Configuration.getLogFile(), + '-%DATE%', + Configuration.getLogFile().indexOf('.log') + ), + maxFiles: logMaxFiles, + }), ]; } else { transports = [ @@ -19,26 +35,25 @@ if (Configuration.getLogRotate()) { ]; } -let loggerInstance: Logger | null = null; -const getLogger = (): Logger => { - if (!loggerInstance) { - loggerInstance = createLogger({ - level: Configuration.getLogLevel(), - format: format.combine(format.splat(), format[Configuration.getLogFormat()]()), - transports: transports, - }); - return loggerInstance; - } -}; +const logger: Logger = createLogger({ + level: Configuration.getLogLevel(), + format: format.combine(format.splat(), (format[Configuration.getLogFormat()] as () => Format)()), + transports: transports, +}); // // If enabled, log to the `console` with the format: // `${info.level}: ${info.message} JSON.stringify({ ...rest }) ` // if (Configuration.getLogConsole()) { - getLogger().add(new Console({ - format: format.combine(format.splat(), format[Configuration.getLogFormat()]()), - })); + logger.add( + new Console({ + format: format.combine( + format.splat(), + (format[Configuration.getLogFormat()] as () => Format)() + ), + }) + ); } -export default getLogger; +export default logger;