在Linux服务器上监控Node.js应用程序的日志,可以采用以下几种方法和工具:
/var/log/myapp.log
文件:tail -f /var/log/myapp.log
。-f
选项确保持续显示新增日志行。less /var/log/myapp.log
。grep "error" /var/log/myapp.log
。awk '/ERROR/ {print}' /var/log/myapp.log
。打印包含 “ERROR” 的行。npm install -g nodemon
nodemon app.js
npm install -g pm2
pm2 start app.js
,查看日志:pm2 logs
。npm install -g log.io-server npm install -g log.io-file-input
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
logger.info('Server started on port 3000');
编写脚本来定期检查日志文件并发送警报。例如,监控错误数量,超过阈值则发送邮件通知。
#!/bin/bash
LOG_FILE="/var/log/myapp.log"
ERROR_COUNT=$(grep -c "error" $LOG_FILE)
if [ $ERROR_COUNT -gt 10 ]; then
echo "High error count detected: $ERROR_COUNT"
# 发送警报的代码
fi
通过上述方法,可以有效地监控Linux服务器上的Node.js应用程序日志,确保应用程序的稳定运行和问题的快速排查。