温馨提示×

debian js日志怎么解析

小樊
53
2026-09-01 05:55:13
栏目: 编程语言

在 Debian 上“解析 JS 日志”通常分几种场景,我先按最常见的几类给你说明,你可以对号入座;如果你指的是某种具体日志(Node.js / 浏览器 / 前端构建 / pm2 / nginx 等),可以补充一下。


一、明确:JS 日志来自哪里?

常见来源:

  1. Node.js 服务端日志(console.log / winston / pino)
  2. 浏览器端 JS 错误日志(前端发到后端)
  3. 构建工具日志(webpack / vite / rollup)
  4. 进程管理日志(pm2 / systemd)
  5. Web 服务器访问/错误日志(nginx + JS 接口)

二、基础:Debian 上查看 JS 日志

1. Node.js 直接运行

node app.js > app.log 2>&1

查看:

tail -f app.log

2. pm2 管理的 Node 服务

pm2 logs
pm2 logs app_name

3. systemd 服务

journalctl -u your-node-service -f

三、Node.js 日志解析(最常见)

示例日志

{"level":"error","time":"2026-01-15T10:00:00Z","msg":"DB connect failed","stack":"..."}

1. 用 jq 解析 JSON 日志

cat app.log | jq '.msg'

2. 提取错误

grep '"level":"error"' app.log | jq .

3. 按时间统计错误

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

四、前端 JS 错误日志解析

如果是浏览器 post 到后端的:

{
  "message": "Cannot read property x of undefined",
  "stack": "...",
  "url": "/page",
  "userAgent": "..."
}

解析方式:

jq '.message' frontend.log

建议:

  • 前端用 Sentry
  • 后端只存结构化 JSON

五、用脚本批量解析(Python 示例)

import json

with open("app.log") as f:
    for line in f:
        try:
            log = json.loads(line)
            if log["level"] == "error":
                print(log["msg"])
        except:
            pass

六、日志规范建议(很重要)

✅ 用 JSON 日志
✅ 包含:time / level / msg / requestId
❌ 不要直接 console.log(obj)

推荐库:

  • Node: pino(最快)
  • 解析: jq + vector / filebeat

七、如果你愿意,我可以更具体

你可以告诉我:

  1. JS 是 前端还是 Node
  2. 日志是 文本还是 JSON
  3. 用的是 pm2 / docker / systemd
  4. 想做什么:实时分析 / 错误统计 / 告警

我可以直接给你可用的命令或解析脚本。

0 踩