温馨提示×

ubuntu nodejs日志怎样导出

小樊
46
2026-09-27 17:01:17
栏目: 编程语言

在 Ubuntu 上导出 Node.js 日志,主要取决于你的 Node.js 应用是怎么运行的(直接运行、PM2、systemd、Docker 等)。下面按常见场景说明。


一、Node.js 直接运行(终端启动)

1. 标准输出 / 错误输出重定向

node app.js > app.log 2>&1
  • >:标准输出
  • 2>&1:错误也写入

2. 追加方式(不覆盖)

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

3. 后台运行并导出

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

二、使用 PM2(最常见)

查看日志路径

pm2 logs
pm2 info <app_name>

导出日志文件

pm2 logs --raw > pm2.log

查看日志文件位置

~/.pm2/logs/

清空日志

pm2 flush

三、使用 systemd(Ubuntu 服务)

查看日志

journalctl -u your-node-service

导出到文件

journalctl -u your-node-service > node.log

实时导出

journalctl -u your-node-service -f >> node.log

四、Docker 中运行 Node.js

查看日志

docker logs <container_id>

导出

docker logs <container_id> > docker.log

五、Node.js 应用内写日志(推荐)

如使用 winston / pino:

const fs = require('fs');
const logger = require('winston');

logger.add(new logger.transports.File({
  filename: '/var/log/node/app.log'
}));

然后直接导出:

cp /var/log/node/app.log ./app.log

六、常见导出命令汇总

# 复制
cp app.log /home/user/

# 压缩
tar -czf node-logs.tar.gz app.log

# 远程导出
scp app.log user@server:/path/

如果你能告诉我:

  • Node.js 运行方式(PM2 / systemd / Docker / 直接运行)
  • 日志是 console.log 还是日志库

我可以给你更精准的导出方案。

0 踩