在Ubuntu中进行Node.js日志管理,可采用以下方式:
console.log()/console.error()输出日志到控制台,适合开发调试。npm install winstonconst winston = require('winston');
const DailyRotateFile = require('winston-daily-rotate-file');
const logger = winston.createLogger({
transports: [
new DailyRotateFile({
filename: 'logs/app-%DATE%.log',
datePattern: 'YYYY-MM-DD',
maxSize: '20m',
maxFiles: '14d',
zippedArchive: true
})
]
});
logrotate工具管理日志文件,配置路径为/etc/logrotate.d/nodejs,设置按天轮转、保留天数、压缩等。winston-daily-rotate-file插件,直接在代码中配置轮转策略。~/.pm2/logs/目录,支持自动轮转及远程日志查看。
pm2 start app.js --name my-apppm2 logs my-app存储路径参考:
~/.pm2/logs/logs/目录)/var/log/(需手动配置)根据项目规模和需求选择合适方案,生产环境建议结合日志库+轮转+集中管理。