温馨提示×

nodejs linux日志怎么实时看

小樊
41
2026-09-08 14:00:29
栏目: 编程语言

在 Linux 上看 Node.js 的实时日志,常见有下面几种方式,按使用场景给你整理一下:


一、Node.js 直接输出到终端(最简单)

如果你是用命令启动的:

node app.js

日志直接打印在终端,用下面方式实时看即可:

  • 本地终端:直接看
  • SSH 连接:保持连接即可

如果程序在后台跑,日志没输出到文件,就看不到,建议输出到文件或 stdout。


二、日志输出到文件(最常用)

启动方式:

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

或 PM2:

pm2 start app.js

实时查看日志

tail -f app.log

只看最新 100 行并实时:

tail -n 100 -f app.log

多个文件一起看:

tail -f app.log error.log

三、使用 PM2(强烈推荐)

如果你用 PM2 管理 Node.js:

pm2 logs

实时看所有应用日志

只看某个应用:

pm2 logs app-name

只看最近 200 行:

pm2 logs --lines 200

四、Docker 场景

如果是 Docker 跑的 Node.js:

docker logs -f 容器名或ID

从某时间开始:

docker logs -f --since 10m 容器名

五、进阶工具(日志量大时)

  • less +F app.log(类似 tail -f,可搜索)
  • multitail(同时看多个日志)
  • lnav(带高亮和结构化)
  • ELK / Grafana Loki(生产环境)

六、常见坑

  1. 日志被缓冲:Node 在非 TTY 下 stdout 可能缓冲
    解决:使用 stdout 立即刷新或写文件
  2. 看不到日志:确认有没有 console.log 或日志库输出
  3. 后台进程退出:用 nohuppm2

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

  • 你是 本地 / 服务器 / Docker
  • 用没用 PM2 / nginx / Docker
  • 日志是 console 还是文件

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

0