安亿程序开发

Nodejs日志在Ubuntu怎么找

2 次浏览
# 编程语言 # ubuntu

在 Ubuntu 上查找 Node.js 日志 取决于你的应用是怎么运行的。下面按常见场景给你一个“排查清单”。 一、先看 Node.js 应用本身有没有写日志 1. 应用里有没有 console.log / console.error Node.js 默认会把: console.log → stdout console.error → stderr 运行方式不同,日志去向也不同

在 Ubuntu 上查找 Node.js 日志 取决于你的应用是怎么运行的。下面按常见场景给你一个“排查清单”。


一、先看 Node.js 应用本身有没有写日志

1. 应用里有没有 console.log / console.error

Node.js 默认会把:

  • console.logstdout
  • console.errorstderr

运行方式不同,日志去向也不同。


二、前台运行(直接 node app.js

日志直接输出在终端:

node app.js

✅ 这是最简单的,直接看终端即可。


三、后台运行(最常见)

1. 使用 &nohup

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

日志在:

app.log

或:

nohup node app.js &

日志在:

nohup.out

2. 使用 pm2(强烈推荐)

查看日志

pm2 logs

只看某个应用:

pm2 logs app-name

只看错误日志:

pm2 logs app-name --err

日志默认位置:

~/.pm2/logs/

3. 使用 systemd(服务器常用)

查看服务状态

systemctl status your-node-service

查看日志

journalctl -u your-node-service

实时查看:

journalctl -u your-node-service -f

四、Docker 运行的 Node.js

docker logs 容器名或ID

实时查看:

docker logs -f 容器名

五、常见日志位置速查表

运行方式 日志位置
node app.js 终端
nohup nohup.out
> log 指定文件
pm2 ~/.pm2/logs/
systemd journalctl
docker docker logs

六、如果“完全找不到日志”

可以全局搜索:

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

或看进程输出文件:

ls -l /proc/$(pgrep node)/fd

七、建议的最佳实践 ✅

  • pm2 管理 Node.js
  • 日志写到文件 + 按天切割
  • 或用 winston / pino 日志库

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

  • 你的 Node.js 是怎么启动的?
  • 是本地还是服务器?
  • 用的是 pm2 / docker / systemd?

我可以直接帮你定位到具体日志路径