温馨提示×

linux js日志怎么解析

小樊
45
2026-09-23 20:23:03
栏目: 编程语言

在 Linux 下解析 JS(JavaScript)日志,常见场景有两类:

  1. Node.js 服务端日志(后端)
  2. 前端 JS 在浏览器产生的日志(通常通过上报到服务器,如 Nginx / 应用日志)

下面从日志格式、解析工具、实战示例三个角度说明。


一、常见 JS 日志形式

1. Node.js 默认/常见日志

2024-01-12T10:22:31.123Z info: user login success { userId: 123 }
2024-01-12T10:22:35.456Z error: DB connection failed

2. JSON 格式日志(推荐)

{"time":"2024-01-12T10:22:31Z","level":"info","msg":"user login","userId":123}

3. 前端上报日志

GET /log?msg=js_error&file=app.js&line=20 HTTP/1.1

二、Linux 下常用解析方式

方式 1:grep / awk(快速定位)

# 查错误日志
grep "error" app.log

# 查某用户
grep "userId: 123" app.log

# 统计错误次数
grep -c "error" app.log

方式 2:jq(解析 JSON 日志,强烈推荐)

如果日志是 JSON:

cat app.log | jq 'select(.level=="error")'

提取字段:

jq '.time, .msg' app.log

统计错误类型:

jq -r '.level' app.log | sort | uniq -c

方式 3:awk 自定义解析

awk '/error/ {print $1, $2, $0}' app.log

提取时间 + 日志内容:

awk '{print $1, substr($0, index($0,$4))}' app.log

方式 4:sed 清洗日志

sed -n '/error/p' app.log

方式 5:ELK / Loki(生产环境)

  • Filebeat 收集
  • Logstash 解析
  • Kibana 可视化
  • Promtail + Loki + Grafana

三、实战示例

示例 1:统计每分钟错误数

grep "error" app.log | awk '{print substr($1,1,16)}' | uniq -c

示例 2:解析 JSON 并统计接口报错

jq -r 'select(.msg=="api error") | .path' app.log | sort | uniq -c

示例 3:前端 JS 错误日志分析(Nginx)

grep "js_error" access.log | awk '{print $7}' | sort | uniq -c

四、建议的最佳实践

✅ 日志统一 JSON 格式
✅ 包含字段:time / level / msg / traceId
✅ Node 使用 pino / winston
✅ 前端错误用 window.onerror 上报


如果你能贴一段具体 JS 日志内容,我可以直接帮你写解析命令或脚本。

0