以下是在Debian上利用Node.js日志進行監控的方法:
基礎日志記錄
console.log
/console.error
輸出日志,通過重定向到文件保存:node app.js > logs/output.log 2>&1
。const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
日志輪轉管理
logrotate
工具避免日志文件過大,配置示例:sudo apt install logrotate
sudo nano /etc/logrotate.d/nodejs-app
# 添加內容:
/path/to/logs/*.log {
daily
rotate 7
compress
missingok
}
實時監控工具
npm install pm2 -g
pm2 start app.js --name "my-app"
pm2 logs # 實時查看日志
```。
集中式日志管理
監控與告警
根據應用規模選擇方案:小型項目可用PM2+基礎日志庫,大型系統推薦ELK/Graylog+Prometheus+Grafana組合。