X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FLogger.ts;h=c3ea5c5c95defc83622e5571186193c025e02b15;hb=91ecff2da29c7d1930ab1e8d90d159ae7a8c722e;hp=a72bcbe6db3bfbbb8042afd93b64ba91a3546224;hpb=e7aeea18e189dd087c8f951cf77a253e2818ae90;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index a72bcbe6..c3ea5c5c 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -1,13 +1,15 @@ -import { Console, File } from 'winston/lib/winston/transports'; +import type { Format } from 'logform'; import { Logger, createLogger, format, transport } from 'winston'; +import DailyRotateFile from 'winston-daily-rotate-file'; +import TransportType from 'winston/lib/winston/transports/index.js'; import Configuration from './Configuration'; -import DailyRotateFile from 'winston-daily-rotate-file'; import Utils from './Utils'; let transports: transport[]; -if (Configuration.getLogRotate()) { +if (Configuration.getLogRotate() === true) { const logMaxFiles = Configuration.getLogMaxFiles(); + const logMaxSize = Configuration.getLogMaxSize(); transports = [ new DailyRotateFile({ filename: Utils.insertAt( @@ -16,7 +18,8 @@ if (Configuration.getLogRotate()) { Configuration.getLogErrorFile().indexOf('.log') ), level: 'error', - maxFiles: logMaxFiles, + ...(logMaxFiles && { maxFiles: logMaxFiles }), + ...(logMaxSize && { maxSize: logMaxSize }), }), new DailyRotateFile({ filename: Utils.insertAt( @@ -24,20 +27,21 @@ if (Configuration.getLogRotate()) { '-%DATE%', Configuration.getLogFile().indexOf('.log') ), - maxFiles: logMaxFiles, + ...(logMaxFiles && { maxFiles: logMaxFiles }), + ...(logMaxSize && { maxSize: logMaxSize }), }), ]; } else { transports = [ - new File({ filename: Configuration.getLogErrorFile(), level: 'error' }), - new File({ filename: Configuration.getLogFile() }), + new TransportType.File({ filename: Configuration.getLogErrorFile(), level: 'error' }), + new TransportType.File({ filename: Configuration.getLogFile() }), ]; } const logger: Logger = createLogger({ level: Configuration.getLogLevel(), - format: format.combine(format.splat(), format[Configuration.getLogFormat()]()), - transports: transports, + format: format.combine(format.splat(), (format[Configuration.getLogFormat()] as () => Format)()), + transports, }); // @@ -46,8 +50,11 @@ const logger: Logger = createLogger({ // if (Configuration.getLogConsole()) { logger.add( - new Console({ - format: format.combine(format.splat(), format[Configuration.getLogFormat()]()), + new TransportType.Console({ + format: format.combine( + format.splat(), + (format[Configuration.getLogFormat()] as () => Format)() + ), }) ); }