在 Ubuntu 上检索 Node.js 日志,通常取决于日志写在哪里以及用什么方式运行 Node.js。下面按常见场景给你一套实用方法。
如果你的 Node.js 直接运行:
node app.js
日志一般在终端,或重定向到了文件:
node app.js > app.log 2>&1
查看:
cat app.log
tail -f app.log
如果你用 PM2:
pm2 logs
pm2 logs app_name
pm2 logs --lines 100
查看某个进程的日志文件:
pm2 describe app_name
通常路径类似:
~/.pm2/logs/app-name-out.log
~/.pm2/logs/app-name-error.log
如果你用 systemd 启动 Node.js:
sudo systemctl status nodeApp
journalctl -u nodeApp
journalctl -u nodeApp -f
journalctl -u nodeApp --since "2024-01-01" --until "2024-01-02"
tail -f app.log
grep "ERROR" app.log
grep -i "timeout" app.log
grep "2024-01-01 10:" app.log
grep -c "Error" app.log
journalctl -u nodeApp | grep "Error"
日志一般在配置的文件里,例如:
logs/error.log
logs/combined.log
Pino 日志是 JSON:
cat pino.log | grep "level":50
或用 pino-pretty:
pino app.log | grep "error"
logrotate 防止日志爆盘grep + tail 或 ELK / Loki如果你愿意,可以告诉我:
我可以直接给你精确命令。