// Logger utility using Winston import winston from 'winston'; import { config } from '../config'; const logFormat = winston.format.combine( winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.errors({ stack: true }), winston.format.printf(({ level, message, timestamp, stack }) => { return `${timestamp} [${level.toUpperCase()}]: ${stack || message}`; }) ); export const logger = winston.createLogger({ level: config.logLevel, format: logFormat, transports: [ new winston.transports.Console({ format: winston.format.combine( winston.format.colorize(), logFormat ) }) ] }); // Add file transport in production if (!config.isDevelopment) { logger.add(new winston.transports.File({ filename: 'error.log', level: 'error' })); logger.add(new winston.transports.File({ filename: 'combined.log' })); }