Spaces:
Sleeping
Sleeping
| 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; |