在 Linux 下分析 JavaScript(JS)日志,通常取决于日志来源(Node.js 后端、前端浏览器、容器、PM2、Nginx 等)。下面按常见场景 + 实用命令系统讲解。
node app.js > app.log 2>&1
查看:
cat app.log
less app.log
tail -f app.log
PM2 是 Node.js 最常用的进程管理器。
pm2 logs
pm2 logs app-name
pm2 logs --lines 100
pm2 logs --raw
~/.pm2/logs/
搜索 JS 错误关键词:
grep -i "error" app.log
grep -i "exception" app.log
grep -i "stack" app.log
查看某段时间错误:
grep "2024-01-01 10:" app.log
tail -f app.log
grep "TypeError" app.log
grep -C 5 "Cannot read property" app.log
统计错误次数:
awk '/Error/ {count++} END {print count}' app.log
sed -n '/10:00:00/,/10:05:00/p' app.log
TypeError: Cannot read properties of undefined (reading 'id')
at app.js:23:15
分析重点:
tail -f /var/log/nginx/access.log
过滤 JS 接口:
grep "/api/" access.log
常见方式:
window.onerror = function(msg, url, line) {
fetch('/log', { method: 'POST', body: JSON.stringify({ msg }) })
}
后端日志中搜索:
grep "onerror" app.log
现代 JS 日志(pino / winston json 模式):
{"level":"error","message":"DB failed","stack":"..."}
分析:
jq '. | select(.level=="error")' app.log
或:
grep '"level":"error"' app.log | jq .
tail -n 500 app.log | grep -i "error"
grep "Error:" app.log | sort | uniq -c | sort -nr
grep "/api/login" app.log | grep -i error
lessjqlnav(日志浏览器)Linux 下 JS 日志分析 = 找到日志文件 + grep/filter + 错误栈定位 + 时间/接口维度分析
如果你愿意,可以告诉我:
我可以直接帮你写一套针对你项目的日志分析命令。