在 Debian 系统中,Node.js 本身没有统一的日志文件,日志位置取决于 你如何运行 Node.js 程序。下面按常见场景给你一个速查表。
| 运行方式 | 日志位置 |
|---|---|
| 前台直接运行 | 终端输出(stdout / stderr) |
| systemd 服务 | journalctl -u 服务名 |
| PM2 | pm2 logs |
| Docker | docker logs 容器名 |
| Nginx 反向代理 | /var/log/nginx/ |
| 应用自己写文件 | 看你代码里的路径(如 /var/log/app.log) |
如果你是用 systemd 管理 Node.js:
# 查看日志
journalctl -u your-node-service.service
# 实时查看
journalctl -u your-node-service.service -f
# 查看最近 100 行
journalctl -u your-node-service.service -n 100
服务文件一般在:
/etc/systemd/system/your-node-service.service
# 查看所有日志
pm2 logs
# 查看指定应用
pm2 logs app-name
# 实时查看
pm2 logs --lines 100
PM2 日志默认在:
~/.pm2/logs/
node app.js
日志直接输出在终端,没有文件。
如果你重定向过:
node app.js > app.log 2>&1
那就在:
app.log
docker logs 容器名
docker logs -f 容器名
如果 Node.js 在后端,前端请求日志在:
/var/log/nginx/access.log
/var/log/nginx/error.log
常见日志库:
检查代码里是否有类似:
winston.createLogger({
transports: [
new winston.transports.File({ filename: '/var/log/app.log' })
]
})
# 查看所有 systemd 服务
systemctl list-units --type=service | grep node
# 查看进程
ps aux | grep node
# 查找日志文件
find /var/log -name "*.log" 2>/dev/null
如果你愿意,可以告诉我:
我可以帮你精确定位日志位置。