const winston = require('winston'); // 定义日志格式 const logger = winston.createLogger({ level: process.env.NODE_ENV === 'development' ? 'debug' : 'info', format: winston.format.combine( winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss', }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json() ), defaultMeta: { service: 'prompt-manager-api' }, transports: [ new winston.transports.Console({ format: winston.format.combine( winston.format.colorize(), winston.format.printf( (info) => `${info.timestamp} ${info.level}: ${info.message}` ) ), }), ], }); // 如果是生产环境,记录到文件 if (process.env.NODE_ENV === 'production') { logger.add( new winston.transports.File({ filename: 'logs/error.log', level: 'error' }) ); logger.add(new winston.transports.File({ filename: 'logs/combined.log' })); } module.exports = logger;