温馨提示×

怎样用linux分析js日志

小樊
34
2026-09-17 17:31:00
栏目: 编程语言

在 Linux 下分析 JavaScript 日志(前端 / Node.js 日志),通常取决于日志的格式(纯文本、JSON、带时间戳等)和你的分析目标(错误排查、性能、访问统计等)。下面按“常见场景 + 实用命令”来说明。


一、日志常见形式

1. Node.js 后端日志

  • 控制台输出(console.log
  • 文件日志(如 app.log
  • JSON 格式日志(Winston / Pino)

2. 前端 JS 日志

  • 浏览器 console(需后端收集)
  • 上报到服务器(Nginx / 应用日志)
  • 错误监控系统(Sentry 等)

二、基础文本分析(最常用)

1. 查看日志

tail -f app.log        # 实时查看
less app.log           # 分页查看

2. 查找错误

grep -i "error" app.log
grep -i "exception" app.log
grep -C 5 "TypeError" app.log   # 错误前后5行

3. 统计错误数量

grep -c "error" app.log

4. 按时间过滤

grep "2024-01-21 10:" app.log
awk '$1 >= "2024-01-21" && $1 <= "2024-01-22"' app.log

三、结构化日志分析(JSON 日志)

如果日志是 JSON(Node.js 常见):

{"level":"error","time":"2024-01-21T10:00:00Z","msg":"DB failed"}

1. 使用 jq 分析

# 安装
sudo apt install jq

# 查看错误日志
jq 'select(.level=="error")' app.log

# 统计错误类型
jq -r '.msg' app.log | sort | uniq -c | sort -nr

2. 按时间筛选

jq 'select(.time > "2024-01-21T10:00:00Z")' app.log

四、性能 & 调用分析

1. 统计接口耗时(示例日志)

[2024-01-21 10:00:00] /api/user 120ms
grep "/api" app.log | awk '{print $NF}' | sort -n

2. 慢请求 TOP 10

awk '{print $NF, $0}' app.log | sort -nr | head -10

五、结合 Nginx 分析前端 JS 请求

如果你收集的是前端 JS 请求:

# 查看 404
grep " 404 " access.log

# 统计访问最多的 JS 文件
awk '{print $7}' access.log | grep "\.js" | sort | uniq -c | sort -nr

六、进阶工具(推荐)

1. 日志聚合

  • ELK(Elasticsearch + Logstash + Kibana)
  • Grafana + Loki

2. Node.js 专用

  • Winston
  • Pino(高性能)
  • Sentry(错误追踪)

七、一个完整示例

# 查看今天所有 JS 错误
grep "$(date +%Y-%m-%d)" app.log | grep -i "error"

# 统计错误类型
grep -i "error" app.log | awk '{print $3}' | sort | uniq -c

如果你能贴一段日志样例(脱敏后),我可以帮你写针对性的分析命令

0