在 Debian 上监控 Node.js 日志变化,常见做法取决于日志写在哪里、是否用进程管理器。下面按场景给你一套实用方案。
tail -f(简单直接)如果 Node.js 把日志写到文件,比如:
/var/log/node/app.log
实时查看:
tail -f /var/log/node/app.log
只关注新增内容(不显示历史):
tail -n 0 -f /var/log/node/app.log
less +F(可暂停、搜索)less +F /var/log/node/app.log
Ctrl+C 暂停/error 搜索F 继续跟踪如果你用 systemd 启动 Node.js 服务:
journalctl -u node-app -f
journalctl -u node-app -p err -f
journalctl -u node-app -n 100
✅ 优点:
如果你用 PM2 管理 Node.js:
pm2 logs
pm2 logs app-name
pm2 logs --err
watchwatch -n 5 "tail -n 20 /var/log/node/app.log"
inotifywait(文件级监控)apt install inotify-tools
inotifywait -m /var/log/node/app.log
适合:
Debian 常用 logrotate:
/etc/logrotate.d/node-app
示例:
/var/log/node/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
copytruncate 对 Node.js 很关键,避免文件句柄问题。
winston / pino 写日志console.loginfo / warn / error| 场景 | 推荐方式 |
|---|---|
| systemd 服务 | journalctl -u xxx -f |
| PM2 | pm2 logs |
| 文件日志 | tail -f |
| 自动化 | inotifywait |
如果你愿意,可以告诉我:
我可以给你完全针对你环境的监控命令。