在 Ubuntu 上,Node.js 日志的位置取决于你是怎么运行 Node.js 程序的,下面按常见情况说明:
node app.js
日志默认在终端输出,不会自动写文件。
如果你这样重定向过:
node app.js > app.log 2>&1
那日志就在:
当前目录 / app.log
pm2 logs
日志文件位置:
~/.pm2/logs/
例如:
~/.pm2/logs/app-out.log
~/.pm2/logs/app-error.log
查看某个进程:
pm2 logs app
如果 Node.js 是通过 systemd 启动的(如 /etc/systemd/system/xxx.service):
查看日志:
journalctl -u 服务名
实时查看:
journalctl -u 服务名 -f
示例:
journalctl -u node-app -f
日志由 systemd 管理,不在普通文件里。
Nginx 日志在:
/var/log/nginx/access.log
/var/log/nginx/error.log
Node.js 本身日志仍看上面几种情况。
很多 Node.js 项目用 winston / pino / log4js:
常见路径:
项目目录/logs/
/var/log/项目名/
# 看进程
ps aux | grep node
# 看是否在 systemd
systemctl list-units | grep node
# 找日志文件
find / -name "*.log" 2>/dev/null | grep node
如果你愿意,可以告诉我:
我可以直接帮你定位日志文件。