X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FLogger.ts;h=92fe6909e3740aa932b133be1378de947347adff;hb=7c2c6fd37881dd238855cae4a0d0a21d0d44111a;hp=96199e4f1a342101d678c0417807f53d3b4179e9;hpb=268a74bb051fcbbad532fd833f0d8fd2b33b6c64;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index 96199e4f..92fe6909 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -1,21 +1,21 @@ import type { FormatWrap } from 'logform'; -import { type Logger, createLogger, format, type transport } from 'winston'; -import TransportType from 'winston/lib/winston/transports'; +import { createLogger, format, type transport } from 'winston'; +import TransportType from 'winston/lib/winston/transports/index.js'; import DailyRotateFile from 'winston-daily-rotate-file'; import { Configuration } from './Configuration'; import { Utils } from './Utils'; let transports: transport[]; -if (Configuration.getLogRotate() === true) { - const logMaxFiles = Configuration.getLogMaxFiles(); - const logMaxSize = Configuration.getLogMaxSize(); +if (Configuration.getLog().rotate === true) { + const logMaxFiles = Configuration.getLog().maxFiles; + const logMaxSize = Configuration.getLog().maxSize; transports = [ new DailyRotateFile({ filename: Utils.insertAt( - Configuration.getLogErrorFile(), + Configuration.getLog().errorFile, '-%DATE%', - Configuration.getLogErrorFile()?.indexOf('.log') + Configuration.getLog().errorFile?.indexOf('.log') ), level: 'error', ...(logMaxFiles && { maxFiles: logMaxFiles }), @@ -23,9 +23,9 @@ if (Configuration.getLogRotate() === true) { }), new DailyRotateFile({ filename: Utils.insertAt( - Configuration.getLogFile(), + Configuration.getLog().file, '-%DATE%', - Configuration.getLogFile()?.indexOf('.log') + Configuration.getLog().file?.indexOf('.log') ), ...(logMaxFiles && { maxFiles: logMaxFiles }), ...(logMaxSize && { maxSize: logMaxSize }), @@ -33,14 +33,15 @@ if (Configuration.getLogRotate() === true) { ]; } else { transports = [ - new TransportType.File({ filename: Configuration.getLogErrorFile(), level: 'error' }), - new TransportType.File({ filename: Configuration.getLogFile() }), + new TransportType.File({ filename: Configuration.getLog().errorFile, level: 'error' }), + new TransportType.File({ filename: Configuration.getLog().file }), ]; } -const logger: Logger = createLogger({ - level: Configuration.getLogLevel(), - format: format.combine(format.splat(), (format[Configuration.getLogFormat()] as FormatWrap)()), +export const logger = createLogger({ + silent: !Configuration.getLog().enabled, + level: Configuration.getLog().level, + format: format.combine(format.splat(), (format[Configuration.getLog().format] as FormatWrap)()), transports, }); @@ -48,15 +49,13 @@ const logger: Logger = createLogger({ // If enabled, log to the `console` with the format: // `${info.level}: ${info.message} JSON.stringify({ ...rest }) ` // -if (Configuration.getLogConsole()) { +if (Configuration.getLog().console) { logger.add( new TransportType.Console({ format: format.combine( format.splat(), - (format[Configuration.getLogFormat()] as FormatWrap)() + (format[Configuration.getLog().format] as FormatWrap)() ), }) ); } - -export { logger };