温馨提示×

如何过滤Linux JS日志

小樊
37
2026-08-28 23:42:19
栏目: 编程语言

在 Linux 下“过滤 JS 日志”通常有几种常见需求,下面按最常见场景给你一套可实操的方案。如果你指的是前端 JS 日志Node.js 日志还是Nginx/Web 访问日志,可以再精确说明。


一、过滤 Node.js 日志(最常见)

1️⃣ 按关键词过滤(grep)

# 过滤包含 error 的日志
cat app.log | grep "error"

# 忽略大小写
grep -i "error" app.log

# 实时过滤
tail -f app.log | grep "error"

2️⃣ 按时间过滤

# 查看今天的日志
grep "2025-01-20" app.log

如果日志时间格式是:

2025-01-20 10:12:33

3️⃣ 按级别过滤(info / warn / error)

grep -E "error|warn" app.log

或排除 info:

grep -v "info" app.log

二、过滤前端 JS 日志(浏览器日志转存)

如果前端 JS 日志被收集到文件(如 Sentry、自定义上报):

# 过滤 JS 报错
grep "Uncaught" js.log
grep "ReferenceError" js.log
grep "TypeError" js.log

常见 JS 错误关键词

  • Uncaught
  • ReferenceError
  • TypeError
  • SyntaxError
  • Network Error

三、过滤 Nginx / Web 日志中的 JS 请求

1️⃣ 找出 JS 文件请求

grep "\.js" access.log

2️⃣ 过滤 404 的 JS 文件

grep "\.js" access.log | grep " 404 "

3️⃣ 只看 JS 报错状态码(4xx / 5xx)

awk '$9 ~ /^[45]/ && $7 ~ /\.js$/' access.log

四、使用 awk 精确过滤(进阶)

# 第 9 列是状态码,第 7 列是请求路径
awk '$7 ~ /\.js$/ && $9 == 404' access.log

五、过滤 PM2 日志(Node.js 常用)

pm2 logs | grep "error"
pm2 logs app-name --lines 200 | grep "js"

六、按日志级别 + 时间 + 内容(组合)

grep "2025-01-20" app.log | grep -E "error|exception"

七、实时查看 JS 错误(推荐)

tail -f app.log | grep -i "error"

✅ 你可以直接告诉我:

  1. Node.js / 前端 / Nginx 哪种日志?
  2. 日志格式示例(贴一行即可)
  3. 想过滤什么?(错误 / 时间 / 文件 / 接口)

我可以给你完全定制的一行命令

0