以下是在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组合。