若Node.js应用将日志输出到自定义文件(如通过fs.writeFileSync、日志库配置或启动命令重定向),可通过以下命令查看:
cat命令读取文件全部内容(适用于小文件),例如:cat /path/to/your/logfile.log
tail -f命令持续显示文件末尾新增内容(适用于实时排查问题),例如:tail -f /path/to/your/logfile.log
grep命令过滤特定内容(如错误信息),例如:grep "error" /path/to/your/logfile.log # 筛选包含"error"的行
tail -f /path/to/your/logfile.log | grep "warning" # 实时筛选"warning"
日志文件常见路径包括应用工作目录下的logs/子目录(如./logs/app.log)或自定义路径(如/var/log/nodejs/app.log)。若应用作为systemd服务运行(如通过systemctl start your-nodejs-service启动),可使用journalctl命令查看系统日志中的应用日志:
sudo journalctl -u your-nodejs-service-name
-f参数持续输出最新日志:sudo journalctl -u your-nodejs-service-name -f
--since/--until指定时间范围(如--since "2025-09-01"),或结合grep过滤关键词:journalctl -u your-nodejs-service-name --since "2025-09-20" | grep "failed"
需将your-nodejs-service-name替换为实际服务名称(可通过systemctl list-units --type=service查看)。若应用通过PM2进程管理器运行(常见于生产环境),可使用PM2自带的日志命令查看:
pm2 logs
pm2 list获取应用名称(如my-app),然后运行:pm2 logs my-app
--lines参数限制显示行数(如pm2 logs --lines 100)。若不确定日志文件位置,可通过以下方式排查:
winston、bunyan的配置文件),确认logFilePath或输出目标。node app.js > logs/app.log 2>&1,其中logs/app.log为日志路径)。LOG_PATH环境变量指定日志路径,可通过echo $LOG_PATH查看(需在应用运行的终端中执行)。以上方法覆盖了Debian系统下Node.js应用的主要日志查看场景,可根据应用的运行方式和配置选择合适的方式。