温馨提示×

linux下nodejs日志怎么找

小樊
47
2026-09-29 17:24:54
栏目: 编程语言

在 Linux 下查找 Node.js 的日志,通常取决于你的 Node.js 程序是如何运行的、日志是写到哪里去的。下面按常见情况说明:


一、先看 Node.js 程序自己把日志写哪了

1. 代码里指定的日志文件

很多 Node 项目会自己写日志,比如:

fs.writeFileSync('/var/log/myapp.log', log)

或用了 winston、pino、log4js 等:

常见位置:

/var/log/
/var/log/<项目名>/
./logs/
~/logs/

搜索日志文件:

find / -name "*.log" 2>/dev/null | grep node

二、Node.js 直接在前台运行(终端)

如果你是直接在终端跑:

node app.js

那日志就在当前终端输出(stdout / stderr)。

如果终端关了,一般就没有保存。


三、用 nohup / & 启动的 Node.js

常见方式:

nohup node app.js &

日志默认在:

nohup.out

当前目录下:

ls -l nohup.out
cat nohup.out

或你指定过:

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

那就在 app.log


四、用 systemd 管理的 Node.js(服务器最常见)

1. 查看服务名

systemctl list-units --type=service | grep node

2. 查看日志(推荐)

journalctl -u <服务名>

实时查看:

journalctl -u <服务名> -f

只看最近 100 行:

journalctl -u <服务名> -n 100

3. 找 service 文件

systemctl status <服务名>

通常会显示:

Loaded: loaded (/etc/systemd/system/myapp.service)

查看是否指定了日志文件:

cat /etc/systemd/system/myapp.service

五、用 PM2 管理的 Node.js

查看日志

pm2 logs

只看某个应用:

pm2 logs <app_name>

日志文件位置:

~/.pm2/logs/

六、Docker 里的 Node.js

查看容器日志

docker ps
docker logs <容器名或ID>

实时日志:

docker logs -f <容器名或ID>

七、系统级错误日志(Node 崩了)

dmesg | tail

或

/var/log/syslog
/var/log/messages

八、快速排查思路(推荐顺序)

  1. 程序怎么启动的?(nohup / systemd / pm2 / docker)
  2. 有没有 *.log 文件
  3. journalctl 或 pm2 logs
  4. 看代码里 logger 配置

如果你愿意,可以把启动方式或报错信息发出来,我可以直接告诉你日志在哪、怎么看。

0 踩