在 Linux 下,Node.js 本身并没有一个“固定的日志目录”,日志存放位置完全取决于你的 Node.js 应用是如何配置和运行日志的。下面按常见情况说明:
如果你在代码里写了日志(如 console.log、winston、pino 等):
node app.js
node app.js > app.log 2>&1
日志位置:
当前目录下的 app.log
如 winston / pino / log4js:
// 示例
transports: [
new winston.transports.File({ filename: '/var/log/myapp/app.log' })
]
日志位置由你代码里配置的路径决定,常见目录:
/var/log/xxx/
/home/user/logs/
./logs/
pm2 logs
实际日志位置:
~/.pm2/logs/
例如:
~/.pm2/logs/app-out.log
~/.pm2/logs/app-error.log
查看:
pm2 logs 应用名
如果你用 systemd 管理 Node.js:
systemctl status mynodeapp
journalctl -u mynodeapp
日志位置:
/var/log/journal/
或:
journalctl -u mynodeapp -f
如果 Node 在 Nginx 后面:
/var/log/nginx/access.log
/var/log/nginx/error.log
ps aux | grep node
pm2 list
systemctl | grep node
Node.js 日志在哪,取决于你怎么跑它:
~/.pm2/logsjournalctl如果你愿意,可以告诉我:
我可以帮你精准定位日志文件。