在 Linux 上查看 Node.js 的访问日志,取决于你的 Node.js 应用是怎么记录日志的。下面按常见情况说明:
console.log如果代码里是这样记录的:
console.log(`[${new Date()}] ${req.method} ${req.url}`)
日志会输出到:
查看方式:
# 如果你用 nohup 启动
cat nohup.out
# 如果你重定向了日志
cat app.log
例如:
logger.info(`${req.method} ${req.url}`)
查看日志文件:
tail -f logs/access.log
如果你用了:
app.use(morgan('combined'))
默认输出到控制台,一般会重定向到文件:
node app.js >> access.log 2>&1
查看:
tail -f access.log
Node 本身不记录访问日志,由 Nginx 记录。
# Ubuntu / Debian
/var/log/nginx/access.log
# CentOS / Rocky
/var/log/nginx/access.log
查看:
tail -f /var/log/nginx/access.log
实时监控:
tail -100f /var/log/nginx/access.log
如果你用 PM2:
pm2 logs
只看某个应用:
pm2 logs app_name
日志文件位置:
~/.pm2/logs/
docker logs -f 容器名
# 找 node 进程
ps aux | grep node
# 看打开的文件
lsof -p 进程ID | grep log
morgan + 文件日志如果你愿意,可以把:
告诉我,我可以给你精确的查看命令。