在 Debian 上“解析 JS 日志”通常分几种场景,我先按最常见的几类给你说明,你可以对号入座;如果你指的是某种具体日志(Node.js / 浏览器 / 前端构建 / pm2 / nginx 等),可以补充一下。
常见来源:
node app.js > app.log 2>&1
查看:
tail -f app.log
pm2 logs
pm2 logs app_name
journalctl -u your-node-service -f
{"level":"error","time":"2026-01-15T10:00:00Z","msg":"DB connect failed","stack":"..."}
cat app.log | jq '.msg'
grep '"level":"error"' app.log | jq .
jq -r '.time' app.log | sort | uniq -c
如果是浏览器 post 到后端的:
{
"message": "Cannot read property x of undefined",
"stack": "...",
"url": "/page",
"userAgent": "..."
}
解析方式:
jq '.message' frontend.log
建议:
import json
with open("app.log") as f:
for line in f:
try:
log = json.loads(line)
if log["level"] == "error":
print(log["msg"])
except:
pass
✅ 用 JSON 日志
✅ 包含:time / level / msg / requestId
❌ 不要直接 console.log(obj)
推荐库:
pino(最快)jq + vector / filebeat你可以告诉我:
我可以直接给你可用的命令或解析脚本。