温馨提示×

Nodejs日志输出在哪查看

小樊
40
2026-07-07 11:25:04
栏目: 编程语言

Node.js 里,日志输出“在哪看”主要取决于日志是怎么输出的、运行环境是什么。下面按常见情况说明:


一、最简单情况(最常见)

1️⃣ 直接 console.log()

console.log('hello world');

本地运行

node app.js

日志直接显示在终端(Terminal / CMD / PowerShell)


二、后台运行(PM2 / nohup)

2️⃣ 使用 PM2

如果你用 PM2 启动:

pm2 start app.js

查看日志:

pm2 logs
pm2 logs app

日志默认位置:

~/.pm2/logs/
  • app-out.log → 标准输出
  • app-error.log → 错误输出

推荐方式(生产环境常用)


3️⃣ 使用 nohup

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

查看日志:

tail -f app.log

三、Docker 中运行

4️⃣ Docker 容器

docker logs 容器ID
docker logs -f 容器ID

如果是 console.log,日志会进入 Docker 日志系统。


四、Web 框架(Express / NestJS 等)

5️⃣ 使用日志库(如 winston、pino)

例如:

winston.add(new winston.transports.File({ filename: 'app.log' }));

日志位置:

项目目录下的 app.log

五、线上服务器(Linux)

常见位置:

/var/log/
  • Nginx:/var/log/nginx/
  • PM2:~/.pm2/logs/
  • 自定义:项目目录或指定路径

六、如何判断日志在哪?

你可以这样确认:

✅ 看启动方式

启动方式 日志位置
node app.js 终端
pm2 ~/.pm2/logs
docker docker logs
nohup 指定文件
nginx 反向代理 /var/log/nginx

✅ 搜索日志文件

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

七、推荐做法(生产环境)

✅ 不要用 console.log
✅ 使用日志库(winston / pino)
✅ 输出到文件 + 配合 PM2 / Docker


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

  • ✅ 你是 本地 / 服务器 / Docker / 云服务器
  • ✅ 用的是什么方式启动 Node.js?
  • ✅ 用的是 Express / NestJS / 原生?

我可以 直接帮你定位到具体日志文件

0