在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/(需手動配置)根據項目規模和需求選擇合適方案,生產環境建議結合日志庫+輪轉+集中管理。