温馨提示×

ubuntu js日志如何导出

小樊
44
2026-10-15 06:20:48
栏目: 编程语言

在 Ubuntu 上“导出 JS 日志”通常分几种场景,下面按常见情况给你说明:


一、前端 JS 日志(浏览器中的 console)

1. 手动导出(最简单)

  • 打开浏览器 开发者工具(F12)
  • 切到 Console
  • 右键日志区域 → Save as… 或 导出为 HAR(Network 面板)
  • 保存为 .log 或 .txt

2. 前端代码自动导出

console.log = (function (old) {
  return function (...args) {
    old(...args);
    fetch('/log', {
      method: 'POST',
      body: JSON.stringify(args)
    });
  };
})(console.log);

后端(Ubuntu)用 Node / Nginx 接收并写入文件。


二、Node.js 服务日志导出

1. 使用 stdout 重定向

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

2. 使用 PM2(推荐)

pm2 start app.js
pm2 logs app --lines 1000 > js.log

导出全部日志:

pm2 flush
cat ~/.pm2/logs/app-out.log > js.log

3. 使用 Winston / Pino 写文件

const winston = require('winston');
winston.add(new winston.transports.File({ filename: 'js.log' }));

日志文件直接在 Ubuntu 文件系统中。


三、Nginx 中前端 JS 错误日志

如果是静态页面 JS 报错:

  • 前端用 window.onerror 上报
  • Nginx 记录 access log:
cat /var/log/nginx/access.log > js_access.log

四、Docker 中的 JS 日志

docker logs container_name > js.log 2>&1

五、实时导出 + 压缩

tail -f js.log | tee js_export.log
tar -czf js.log.tar.gz js.log

如果你能说明:

  • 是 浏览器 JS 还是 Node.js
  • 是否使用 Docker / PM2 / Nginx
  • 想要 实时导出 还是 历史日志

我可以给你更精确的命令。

0 踩