选择高性能日志库
合理配置日志级别
DEBUG 级别记录详细信息,便于调试。INFO 或 WARN 级别,减少不必要的I/O开销,关键错误用 ERROR。const level = process.env.NODE_ENV === 'production' ? 'warn' : 'debug';
结构化日志与格式化
format: winston.format.combine(
winston.format.timestamp(),
winston.format.json()
)
日志轮转与存储
winston-daily-rotate-file)自动切割日志,避免文件过大。/var/log/app.log {
daily
rotate 7
compress
missingok
}
集中式日志管理
new winston.transports.Http({ host: 'logstash-server', port: 5044 })
性能优化
异常处理与监控
process.on('uncaughtException', (err) => {
logger.error('Uncaught Exception:', err);
process.exit(1);
});