温馨提示×

怎样定位linux js日志错误

小樊
48
2026-09-02 12:24:28
栏目: 编程语言

在 Linux 环境下定位 JS(JavaScript)日志错误,通常分为 前端 JS 和 后端 JS(Node.js) 两种情况。下面按场景系统说明。


一、前端 JS 错误(浏览器中运行)

1. 浏览器开发者工具(最直接)

F12 → Console / Network / Sources
  • Console:查看 JS 报错、堆栈
  • Network:看请求是否 404 / 500
  • Sources:断点调试

适合:本地调试、测试环境


2. 前端日志收集(生产环境)

前端错误通常不会直接显示在服务器日志里,需要主动上报:

常见方案

  • Sentry
  • LogRocket
  • 自研上报接口
window.onerror = function (msg, url, line, col, error) {
  fetch('/log', {
    method: 'POST',
    body: JSON.stringify({ msg, url, line, col, stack: error.stack })
  })
}

然后在 Linux 上查:

tail -f /var/log/nginx/access.log
tail -f /var/log/app/error.log

二、后端 JS 错误(Node.js)

1. 查看 Node 进程日志

如果直接用 node 启动:

node app.js

后台运行(推荐):

pm2 start app.js
pm2 logs

或:

nohup node app.js > app.log 2>&1 &
tail -f app.log

2. 常见日志位置

场景 路径
Nginx 反向代理 /var/log/nginx/error.log
PM2 ~/.pm2/logs/
Docker docker logs 容器名
Systemd journalctl -u node-app

3. Node.js 错误定位技巧

捕获未处理异常

process.on('uncaughtException', err => {
  console.error('UNCAUGHT:', err)
})

process.on('unhandledRejection', err => {
  console.error('UNHANDLED:', err)
})

使用结构化日志(推荐)

npm i winston
const winston = require('winston')
winston.error('DB error', { stack: err.stack })

三、Linux 通用排查命令

# 实时查看日志
tail -f xxx.log

# 搜索错误关键字
grep -i error xxx.log

# 查看最近报错
journalctl -xe

# 查看进程
ps aux | grep node

四、快速定位思路(总结)

  1. 判断是前端还是后端
  2. 前端 → 浏览器 Console / 日志平台
  3. 后端 → Node 日志 / PM2 / Docker
  4. 看错误堆栈,而不是只看 message
  5. 复现 + 日志 + 断点

如果你能补充:

  • 是 前端还是 Node.js
  • 是否使用 Docker / Nginx / PM2
  • 错误示例或日志片段

我可以给你更精准的定位方案。

0 踩