在 Linux 下检索 JavaScript(Node.js / 前端构建 / 浏览器)相关日志,常见做法按日志来源和检索方式分几类,下面系统讲一下。
console.log)app.log)docker logspm2 logsjournalctlcat + grepcat app.log | grep "error"
tail 实时查看tail -f app.log | grep "TypeError"
grep -i "undefined" app.log
grep -n "ReferenceError" app.log
grep -E "error|warn|exception" app.log
grep -v "healthcheck" app.log
JS 错误通常长这样:
TypeError: Cannot read properties of undefined (reading 'id')
at getUser (/app/service/user.js:23:15)
grep -E "TypeError|ReferenceError|SyntaxError" app.log
grep -n "user.js" app.log
grep -A 10 -B 5 "TypeError" app.log
如果是 JSON 日志(pino 常见):
{"level":"error","msg":"db fail","stack":"..."}
jq 检索cat app.log | jq 'select(.level=="error")'
jq -r 'select(.level=="error") | .msg' app.log
pm2 logs
pm2 logs --err
pm2 logs --lines 200
docker logs -f container_name | grep "error"
journalctl -u node-app.service -f
npm run build 2>&1 | grep "error"
less + / 搜索ag / rg(比 grep 快)awk 按时间切片查最近 500 行里的 JS 报错
tail -n 500 app.log | grep -E "Error|Exception"
查某个接口报错
grep "POST /api/login" app.log | grep "500"
如果你能告诉我:
我可以给你更精确的命令。