在 Ubuntu 上查看 Node.js 日志 取决于你如何运行 Node.js 应用。下面按常见场景给你一个完整清单。
如果你是这样启动的:
node app.js
✅ 日志会直接输出到终端(stdout / stderr)
✅ 无法“查看日志文件”,除非你重定向
node app.js > app.log 2>&1
查看日志:
cat app.log
tail -f app.log
pm2 list
pm2 logs
pm2 logs app-name
pm2 logs --lines 100
~/.pm2/logs/
例如:
~/.pm2/logs/app-name-out.log
~/.pm2/logs/app-name-error.log
如果你是通过 systemd 管理 Node.js:
sudo journalctl -u your-service-name
sudo journalctl -u your-service-name -f
sudo journalctl -u your-service-name -n 100
your-service-name是.service文件名
docker logs 容器ID或名称
docker logs -f 容器ID
Node 本身日志看上面方法
Nginx 日志通常在:
/var/log/nginx/access.log
/var/log/nginx/error.log
查看:
tail -f /var/log/nginx/error.log
console.log('info');
console.error('error');
示例(winston):
const winston = require('winston');
const logger = winston.createLogger({
transports: [
new winston.transports.File({ filename: 'app.log' })
]
});
logger.info('hello');
查看:
tail -f app.log
如果不知道日志在哪,先问自己:
~/.pm2/logs/journalctlfind / -name "*.log" 2>/dev/null | grep node
| 场景 | 命令 |
|---|---|
| PM2 | pm2 logs |
| systemd | journalctl -u 服务名 -f |
| Docker | docker logs -f 容器 |
| 普通运行 | tail -f 日志文件 |
如果你愿意,可以告诉我:
我可以给你精确到命令级别的排查方案。