I am using winstonjs 3.8.2 for generating log files, I am currently using File transport for generating log files.
Using the code below, I am getting log files with name like 'myLogs_2024-01-22.log.2024-01-22'.
const myFormat = printf(({ level, message, timestamp }) => {
return `[${timestamp}] [${level}]: ${message}`;
});
const logLevels = {
error: 0,
warn: 1,
info: 2,
http: 3,
verbose: 4,
debug: 5,
silly: 6
};
let mydate = new Date();
let newFilename = "myLogs_" + mydate.getFullYear() + "-" + mydate.getMonth() + "-" + mydate.getDate() + ".log";
const fileRotateTransport = new transports.DailyRotateFile({
filename: newFilename,
datePattern: 'YYYY-MM-DD',
maxFiles: '7d',
});
return createLogger({
levels: logLevels,
level: process.env.LOG_LEVEL ||'info',
format: combine(
format.colorize({ all: true }),
format.cli(),
timestamp({ format: 'YYYY-MM-DD hh:mm:ss.SSS A' }),
format.align(),
printf((info) => `[${info.timestamp}] ${info.level}: ${info.message}`),
myFormat
),
transports: [fileRotateTransport],
exitOnError: false
});
I want to get file name with the current date when the file is created: 'myLogs_2024-01-22.log'. I considered 'winston-daily-rotate-file', but I dont know from where current date is getting appended to file name after .log