温馨提示×

Ubuntu Nodejs日志怎么实时看

小樊
48
2026-08-31 08:40:39
栏目: 编程语言

在 Ubuntu 上实时查看 Node.js 日志,常见做法取决于日志写在哪里。下面按常见场景给你最实用的方法。


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

如果你是这样启动的:

node app.js

日志直接输出在终端,不需要额外查看。

实时查看(其实就是终端本身)

node app.js

二、Node.js 后台运行(最常见)

1️⃣ 使用 pm2(强烈推荐)

查看实时日志

pm2 logs

只看某个应用:

pm2 logs app-name

只看 100 行并实时:

pm2 logs --lines 100

优点

  • 自动合并 stdout / stderr
  • 支持多进程
  • 生产环境最常用

2️⃣ 使用 nohup 启动

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

实时查看日志

tail -f app.log

常用参数:

tail -f -n 100 app.log

3️⃣ 使用 systemd(服务器常用)

服务文件示例:

[Service]
ExecStart=/usr/bin/node /opt/app/app.js
StandardOutput=append:/var/log/node/app.log
StandardError=append:/var/log/node/error.log

实时查看

tail -f /var/log/node/app.log

或使用 journald:

journalctl -u your-service-name -f

三、Docker 中运行 Node.js

docker logs -f container_id

只看最近 100 行:

docker logs -f --tail 100 container_id

四、结合日志库(winston / pino)

示例(winston)

const winston = require('winston');

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

实时查看

tail -f app.log

五、常用实时查看命令速查

场景 命令
普通日志 tail -f app.log
最后 200 行 tail -n 200 -f app.log
搜索关键字 `tail -f app.log
pm2 pm2 logs
systemd journalctl -u xxx -f
Docker docker logs -f container

六、推荐方案(结论)

生产环境

  • Node.js + pm2
  • 日志实时:pm2 logs

简单脚本

  • nohup + tail -f

容器

  • docker logs -f

如果你愿意,可以告诉我:

  • 你是怎么启动 Node.js 的?
  • 有没有用 pm2 / docker / systemd?

我可以给你一条最合适你环境的命令

0