在 Debian 上分析 Node.js 日志,一般可以按下面几个层次来做:先看“日志在哪”,再看“怎么看”,最后讲“怎么分析/排查问题”。
取决于你的代码或日志库:
console.log / console.errorwinstonpinobunyanmorgan(HTTP 请求日志)常见路径(约定俗成):
/var/log/yourapp/
/home/user/app/logs/
如果你用 systemd 启动 Node.js(推荐):
journalctl -u yourapp.service
实时查看:
journalctl -u yourapp.service -f
只看错误:
journalctl -u yourapp.service -p err
如果是 PM2:
pm2 logs
pm2 logs appname
日志文件通常在:
~/.pm2/logs/
/var/log/nginx/access.log
/var/log/nginx/error.log
tail -n 100 /var/log/yourapp/app.log
实时跟踪:
tail -f /var/log/yourapp/app.log
grep -i error /var/log/yourapp/app.log
只看最近 500 行里的错误:
tail -n 500 app.log | grep -i error
journalctl -u yourapp --since "2026-01-21 10:00" --until "2026-01-21 11:00"
日志中常见:
Error: listen EADDRINUSE
TypeError: Cannot read property
UnhandledPromiseRejectionWarning
重点看:
stack tracesystemd 日志可能看到:
Killed
Out Of Memory
查看内存:
free -h
dmesg | grep -i oom
结合:
access.log示例:
awk '$9 >= 500' /var/log/nginx/access.log
用 pino 或 winston 输出 JSON:
{"level":"error","time":...,"msg":"db timeout"}
然后用:
jq '.level=="error"' app.log
# 1. 服务状态
systemctl status yourapp
# 2. 实时日志
journalctl -u yourapp -f
# 3. 错误关键字
journalctl -u yourapp | grep -i error
# 4. 系统资源
top / htop / free -h
如果你愿意,可以告诉我:
我可以直接帮你分析日志内容。