解析 Linux 上的 JS(JavaScript)日志,通常取决于日志来源(Node.js 服务端 / 浏览器前端 / 框架日志)以及日志格式。下面按常见场景给你一套实用思路和示例。
app.log、pm2 logs、nodemon 输出Error: Cannot find module 'xxx'
at Function.Module._resolveFilename
pm2、forever、systemd journalconsole.error 输出docker logsjournalctl -u your-servicetail -f app.log
grep -i "error" app.log
grep "2024-01-21 10:" app.log
awk '/Error/{flag=1} flag{print} /at /{c++} c>10{exit}' app.log
{"level":"error","time":"2024-01-21T10:00:00Z","msg":"DB fail","stack":"..."}
jq 解析jq 'select(.level=="error")' app.log
jq -r '.time + " " + .msg' app.log
pm2 logs
pm2 logs --err
node --stack-trace-limit=100 app.js
ulimit -c unlimited
node app.js
如果是前端错误上报到 Linux 服务:
{
"message": "TypeError: undefined is not a function",
"stack": "at onClick (app.js:20:5)",
"ua": "Chrome/120"
}
解析方式:
jq| 现象 | 可能原因 |
|---|---|
| Cannot find module | 依赖未安装 |
| listen EADDRINUSE | 端口占用 |
| UnhandledPromiseRejection | async 未 catch |
| ReferenceError | 变量未定义 |
如果你能贴一段具体日志或说明:
我可以直接帮你写针对性解析命令或脚本。