温馨提示×

Linux环境JS日志如何导出

小樊
37
2026-10-08 11:00:37
栏目: 编程语言

在 Linux 环境下导出 JavaScript(JS)日志,通常取决于日志来源(前端还是后端 Node.js)、运行方式(服务、容器、定时任务)以及日志写入位置。下面按常见场景给你一套实用方案。


一、Node.js 后端日志导出

1️⃣ 日志直接输出到文件

如果代码中使用:

console.log('xxx')

或通过 winston / pino / log4js 写文件:

# 查看日志文件
cat /path/to/app.log

# 实时导出
tail -f /path/to/app.log > export.log

2️⃣ 服务方式运行(PM2)

# 查看日志
pm2 logs

# 导出日志
pm2 logs --lines 1000 > app.log

3️⃣ Systemd 服务

journalctl -u your-node-service.service > node.log
journalctl -u your-node-service.service -n 500 --no-pager

二、前端 JS 日志导出(浏览器)

1️⃣ 浏览器控制台日志

前端 JS 日志一般在浏览器:

  • 控制台(F12 → Console)
  • 网络请求

✅ 导出方式:

  • 控制台右键 → Save as
  • 或使用浏览器扩展(如 Console Export)

2️⃣ 前端日志上报到服务器

常见方案:

window.onerror = function(msg, url, line) {
  fetch('/log', {
    method: 'POST',
    body: JSON.stringify({ msg, url, line })
  })
}

然后在 Linux 服务端导出:

cat /var/log/nginx/access.log | grep "/log"

三、Docker 容器中的 JS 日志

# 查看容器日志
docker logs container_name

# 导出
docker logs container_name > js.log

# 实时导出
docker logs -f container_name >> js.log

四、Kubernetes 环境

kubectl logs pod-name > js.log
kubectl logs deployment/xxx > js.log

五、定时任务(cron)中的 JS

# crontab 示例
* * * * * node /app/index.js >> /var/log/js.log 2>&1

导出:

cat /var/log/js.log

六、常见日志工具推荐

  • Node.js:winston、pino、bunyan
  • 前端:sentry、logrocket
  • 系统:rsyslog、filebeat

七、你需要哪一种?

你可以告诉我:

  • ✅ 前端还是后端?
  • ✅ 是否使用 Docker / PM2 / Nginx?
  • ✅ 日志现在在哪里(控制台 / 文件 / 容器)?

我可以直接给你精确命令。

0 踩