X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FLogger.ts;h=239ec9186310c2de9d2a6f94d78f8d75d99597f3;hb=bc0f4d8f4973f36baa3f468848fe4d7af25c9a9c;hp=c4db93c0c363ce065502c73cd32e89ea2d41f3e5;hpb=5edd8ba0f8978cfb3ca9d80f299d9748c6c5970e;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index c4db93c0..239ec918 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -5,43 +5,51 @@ import DailyRotateFile from 'winston-daily-rotate-file'; import { Configuration } from './Configuration'; import { insertAt } from './Utils'; +import { ConfigurationSection, type LogConfiguration } from '../types'; +const logConfiguration = Configuration.getConfigurationSection( + ConfigurationSection.log, +); let transports: transport[]; -if (Configuration.getLog().rotate === true) { - const logMaxFiles = Configuration.getLog().maxFiles; - const logMaxSize = Configuration.getLog().maxSize; +if (logConfiguration.rotate === true) { + const logMaxFiles = logConfiguration.maxFiles; + const logMaxSize = logConfiguration.maxSize; transports = [ new DailyRotateFile({ filename: insertAt( - Configuration.getLog().errorFile, + logConfiguration.errorFile!, '-%DATE%', - Configuration.getLog().errorFile?.indexOf('.log'), + logConfiguration.errorFile!.indexOf('.log'), ), level: 'error', ...(logMaxFiles && { maxFiles: logMaxFiles }), ...(logMaxSize && { maxSize: logMaxSize }), }), new DailyRotateFile({ - filename: insertAt( - Configuration.getLog().file, - '-%DATE%', - Configuration.getLog().file?.indexOf('.log'), - ), + filename: insertAt(logConfiguration.file!, '-%DATE%', logConfiguration.file!.indexOf('.log')), ...(logMaxFiles && { maxFiles: logMaxFiles }), ...(logMaxSize && { maxSize: logMaxSize }), }), ]; } else { transports = [ - new TransportType.File({ filename: Configuration.getLog().errorFile, level: 'error' }), - new TransportType.File({ filename: Configuration.getLog().file }), + new TransportType.File({ + filename: logConfiguration.errorFile, + level: 'error', + }), + new TransportType.File({ + filename: logConfiguration.file, + }), ]; } export const logger = createLogger({ - silent: !Configuration.getLog().enabled, - level: Configuration.getLog().level, - format: format.combine(format.splat(), (format[Configuration.getLog().format] as FormatWrap)()), + silent: !logConfiguration.enabled, + level: logConfiguration.level, + format: format.combine( + format.splat(), + (format[logConfiguration.format! as keyof FormatWrap] as FormatWrap)(), + ), transports, }); @@ -49,12 +57,12 @@ export const logger = createLogger({ // If enabled, log to the `console` with the format: // `${info.level}: ${info.message} JSON.stringify({ ...rest }) ` // -if (Configuration.getLog().console) { +if (logConfiguration.console) { logger.add( new TransportType.Console({ format: format.combine( format.splat(), - (format[Configuration.getLog().format] as FormatWrap)(), + (format[logConfiguration.format! as keyof FormatWrap] as FormatWrap)(), ), }), );