安亿程序开发

Ubuntu下Nodejs日志怎么看

2 次浏览
# 编程语言 # ubuntu

在 Ubuntu 下查看 Node.js 日志,要看你的 Node.js 是怎么运行的(直接运行、PM2、Docker、systemd 等)。下面按常见场景给你一个完整说明。 一、直接运行 Node.js(前台 / 后台) 1️⃣ 直接前台运行 node app.js 日志会直接输出到 终端(stdout / stderr)。 2️⃣ 后台运行(常见但不推荐) node app.js &gt

在 Ubuntu 下查看 Node.js 日志,要看你的 Node.js 是怎么运行的(直接运行、PM2、Docker、systemd 等)。下面按常见场景给你一个完整说明。


一、直接运行 Node.js(前台 / 后台)

1️⃣ 直接前台运行

node app.js

日志会直接输出到 终端(stdout / stderr)

2️⃣ 后台运行(常见但不推荐)

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

查看日志:

tail -f app.log

二、使用 PM2(最推荐 ✅)

查看所有应用

pm2 list

查看日志(全部)

pm2 logs

查看指定应用日志

pm2 logs app-name

实时查看

pm2 logs app-name --lines 100

日志文件位置

~/.pm2/logs/

三、使用 systemd(服务器常用)

如果你是通过 systemd 管理的 Node.js 服务:

查看服务状态

systemctl status your-node-service

查看日志(journalctl)

journalctl -u your-node-service -f

查看历史日志

journalctl -u your-node-service --since "2025-01-01" --until "2025-01-02"

四、Docker 中运行 Node.js

查看容器日志

docker logs 容器ID

实时查看

docker logs -f 容器ID

五、Node.js 自身打印的日志

console.log / console.error

console.log('info');
console.error('error');

日志级别(常见)

类型 输出位置
console.log stdout
console.error stderr

六、常见日志查看命令速查

# 实时查看
tail -f app.log

# 查看最后 100 行
tail -n 100 app.log

# 搜索错误
grep -i error app.log

# 搜索最近错误
grep -i error app.log | tail -n 20

七、建议的日志最佳实践 ✅

  • 使用 PM2 + winston / pino
  • 区分:
    • error.log
    • access.log
  • 不要只依赖 console.log

八、如果你愿意,我可以帮你:

  • 判断你现在的 Node.js 是怎么运行的
  • 帮你配置 systemd / PM2
  • 推荐一个生产级日志方案(winston / pino)

你可以直接贴一下:

ps -ef | grep node

或告诉我你是 本地开发 / 服务器 / Docker / 云服务器