在 Linux 下“过滤 JS 日志”通常有几种常见需求,下面按最常见场景给你一套可实操的方案。如果你指的是前端 JS 日志、Node.js 日志还是Nginx/Web 访问日志,可以再精确说明。
# 过滤包含 error 的日志
cat app.log | grep "error"
# 忽略大小写
grep -i "error" app.log
# 实时过滤
tail -f app.log | grep "error"
# 查看今天的日志
grep "2025-01-20" app.log
如果日志时间格式是:
2025-01-20 10:12:33
grep -E "error|warn" app.log
或排除 info:
grep -v "info" app.log
如果前端 JS 日志被收集到文件(如 Sentry、自定义上报):
# 过滤 JS 报错
grep "Uncaught" js.log
grep "ReferenceError" js.log
grep "TypeError" js.log
UncaughtReferenceErrorTypeErrorSyntaxErrorNetwork Errorgrep "\.js" access.log
grep "\.js" access.log | grep " 404 "
awk '$9 ~ /^[45]/ && $7 ~ /\.js$/' access.log
# 第 9 列是状态码,第 7 列是请求路径
awk '$7 ~ /\.js$/ && $9 == 404' access.log
pm2 logs | grep "error"
pm2 logs app-name --lines 200 | grep "js"
grep "2025-01-20" app.log | grep -E "error|exception"
tail -f app.log | grep -i "error"
我可以给你完全定制的一行命令。