在 Debian 上,Node.js 本身的日志路径并不固定,主要取决于你怎么运行 Node.js 程序以及是否配置了日志。下面按常见情况说明怎么找。
没有默认日志文件
Node.js 默认只把输出打印到:
是否写文件,完全看你或你的程序怎么配置。
node app.js
日志在终端里,不写文件。
如果重定向了:
node app.js > app.log 2>&1
日志在:
当前目录/app.log
pm2 logs
日志路径一般在:
~/.pm2/logs/
例如:
~/.pm2/logs/app-error.log
~/.pm2/logs/app-out.log
查看具体路径:
pm2 describe app
如果是 systemd 服务:
systemctl status your-node-service
查看日志:
journalctl -u your-node-service
实时查看:
journalctl -u your-node-service -f
systemd 不直接写日志文件,由
journald管理
Node 日志可能在:
/var/log/nginx/access.log
/var/log/nginx/error.log
日志在 Docker:
docker logs 容器名
或在:
/var/lib/docker/containers/
如果你用了:
winstonpinomorganfs.writeFile那就看代码里的配置,例如:
winston.createLogger({
transports: [
new winston.transports.File({ filename: '/var/log/node/app.log' })
]
})
常见位置:
/var/log/node/
/var/log/yourapp/
# 找 node 进程
ps aux | grep node
# 找日志文件
find / -name "*.log" 2>/dev/null | grep node
# 查看监听端口
ss -lntp
Debian 上 Node.js 没有固定日志路径,日志在哪,取决于你怎么运行它(PM2 / systemd / 重定向 / 代码配置)
如果你愿意,可以告诉我:
我可以帮你精准定位日志文件。