import winston from 'winston'; import 'winston-daily-rotate-file'; const { combine, timestamp, printf } = winston.format; // Daily log transport const dailyTransport = new (winston.transports as any).DailyRotateFile({ filename: 'logs/%DATE%.log', datePattern: 'YYYY-MM-DD', zippedArchive: false, maxSize: '20m', maxFiles: '14d', }); // Logger config const logger = winston.createLogger({ level: 'info', format: combine( timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), printf((info) => `[${info.timestamp}] ${info.level.toUpperCase()}: ${info.message}`) ), transports: [new winston.transports.Console(), dailyTransport], }); global.Log = logger; export default logger;