温馨提示×

Linux JS日志如何导出

小樊
45
2026-08-17 16:44:41
栏目: 编程语言

在 Linux 环境下导出 JS(JavaScript)日志,常见场景有 Node.js 应用日志前端 JS 在浏览器中的日志、以及 通过 systemd / Docker 运行的 JS 服务日志。下面按常见情况给你总结几种实用方法。


一、Node.js 应用日志导出

✅ 1. 直接重定向标准输出(最简单)

node app.js > app.log 2>&1
  • > app.log:重定向 stdout
  • 2>&1:stderr 也写入同一文件

✅ 适合临时运行或调试


✅ 2. 使用 nohup 后台运行并导出日志

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

查看日志:

tail -f app.log

✅ 3. 按日期拆分日志(推荐生产环境)

node app.js >> app-$(date +%Y-%m-%d).log 2>&1

二、使用日志库导出(推荐)

✅ 常用日志库

  • winston
  • pino
  • log4js

✅ Winston 示例

const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new winston.transports.File({ filename: 'app.log' }),
    new winston.transports.Console()
  ]
});

logger.info('这是一条日志');

导出文件:

cat app.log

三、systemd 管理的 Node.js 服务日志

如果 JS 服务是通过 systemd 启动的:

✅ 查看日志

journalctl -u your-service-name -f

✅ 导出日志到文件

journalctl -u your-service-name > js-service.log

四、Docker 中的 JS 日志导出

✅ 查看容器日志

docker logs container_id > js.log 2>&1

✅ 实时查看

docker logs -f container_id

✅ 导出历史日志

docker inspect --format='{{.LogPath}}' container_id

然后:

cp /var/lib/docker/containers/.../...-json.log js.log

五、前端 JS 日志(浏览器)

✅ 浏览器控制台导出

  1. 打开 DevTools → Console
  2. 右键 → Save as…

✅ 前端主动上传日志(常见方案)

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

六、常用日志查看命令

tail -f app.log        # 实时查看
grep "error" app.log   # 搜索错误
wc -l app.log          # 统计行数

七、推荐实践 ✅

场景 推荐方式
本地调试 node app.js > log.txt
生产运行 pm2 / systemd
日志管理 winston + 日志轮转
容器环境 Docker logs

如果你能补充一下:

  • ✅ 是 Node.js 还是前端 JS
  • ✅ 是否使用 Docker / systemd / pm2
  • ✅ 想导出 实时日志还是历史日志

我可以给你更精确的命令或配置示例。

0