在 Linux 下分析 JavaScript 日志(前端 / Node.js 日志),通常取决于日志的格式(纯文本、JSON、带时间戳等)和你的分析目标(错误排查、性能、访问统计等)。下面按“常见场景 + 实用命令”来说明。
console.log)app.log)tail -f app.log # 实时查看
less app.log # 分页查看
grep -i "error" app.log
grep -i "exception" app.log
grep -C 5 "TypeError" app.log # 错误前后5行
grep -c "error" app.log
grep "2024-01-21 10:" app.log
awk '$1 >= "2024-01-21" && $1 <= "2024-01-22"' app.log
如果日志是 JSON(Node.js 常见):
{"level":"error","time":"2024-01-21T10:00:00Z","msg":"DB failed"}
jq 分析# 安装
sudo apt install jq
# 查看错误日志
jq 'select(.level=="error")' app.log
# 统计错误类型
jq -r '.msg' app.log | sort | uniq -c | sort -nr
jq 'select(.time > "2024-01-21T10:00:00Z")' app.log
[2024-01-21 10:00:00] /api/user 120ms
grep "/api" app.log | awk '{print $NF}' | sort -n
awk '{print $NF, $0}' app.log | sort -nr | head -10
如果你收集的是前端 JS 请求:
# 查看 404
grep " 404 " access.log
# 统计访问最多的 JS 文件
awk '{print $7}' access.log | grep "\.js" | sort | uniq -c | sort -nr
ELK(Elasticsearch + Logstash + Kibana)Grafana + Loki# 查看今天所有 JS 错误
grep "$(date +%Y-%m-%d)" app.log | grep -i "error"
# 统计错误类型
grep -i "error" app.log | awk '{print $3}' | sort | uniq -c
如果你能贴一段日志样例(脱敏后),我可以帮你写针对性的分析命令。