在 Node.js 里,日志输出“在哪看”主要取决于日志是怎么输出的、运行环境是什么。下面按常见情况说明:
console.log()console.log('hello world');
node app.js
✅ 日志直接显示在终端(Terminal / CMD / PowerShell)
如果你用 PM2 启动:
pm2 start app.js
查看日志:
pm2 logs
pm2 logs app
日志默认位置:
~/.pm2/logs/
app-out.log → 标准输出app-error.log → 错误输出✅ 推荐方式(生产环境常用)
nohupnohup node app.js > app.log 2>&1 &
查看日志:
tail -f app.log
docker logs 容器ID
docker logs -f 容器ID
如果是 console.log,日志会进入 Docker 日志系统。
例如:
winston.add(new winston.transports.File({ filename: 'app.log' }));
日志位置:
项目目录下的 app.log
常见位置:
/var/log/
/var/log/nginx/~/.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
如果你愿意,可以告诉我:
我可以 直接帮你定位到具体日志文件。