在 Linux 上 Node.js 本身的日志 和 Node.js 应用的日志 位置是不同的,常见情况如下:
Node.js 官方二进制本身默认不写系统日志。
~/.npm/_logs/
示例:
~/.npm/_logs/2024-01-01T12_00_00_000Z-debug-0.log
查看最近错误:
ls -lt ~/.npm/_logs/ | head
~/.nvm/
nvm 一般没有独立日志,错误直接在终端输出。
取决于代码,例如:
fs.writeFileSync('/var/log/myapp/app.log', data)
常见路径:
/var/log/
/var/log/<项目名>/
/home/<用户>/logs/
./logs/
PM2 是最常用的进程管理器。
查看日志路径:
pm2 logs
实际文件位置:
~/.pm2/logs/
示例:
~/.pm2/logs/app-out.log
~/.pm2/logs/app-error.log
查看具体路径:
pm2 describe <app_id>
如果 Node 是用 systemd 启动的:
查看日志:
journalctl -u <服务名>
实时查看:
journalctl -u <服务名> -f
日志路径(系统级):
/var/log/journal/
docker logs <容器名>
日志驱动通常为:
/var/lib/docker/containers/
# 找 node 相关日志
find / -name "*.log" 2>/dev/null | grep -i node
# 查看运行中的 node 进程
ps -ef | grep node
如果你能告诉我:
我可以给你更精确的路径和命令。