promptbackend / utils /logger.js
samlax12's picture
Upload 19 files
4c025e9 verified
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;