Debian系统上Node.js日志文件的常见位置及查找方法
logs文件夹中生成日志文件(如app.log、error.log)。这是开发或简单部署时的常见默认路径。syslog或journald),日志会存储在/var/log/syslog(Debian默认系统日志)或/var/log/messages(部分旧版本系统)中。可通过grep "keyword" /var/log/syslog筛选应用相关日志。systemd运行,这些输出会被journald捕获,可使用journalctl查看(见下文)。若应用使用日志库(如winston、morgan)或通过环境变量配置了日志路径,需根据具体配置查找:
winston时,代码中会明确指定日志文件路径(如new winston.transports.File({ filename: '/var/log/myapp.log' }));使用morgan时,可通过stream选项将日志写入指定文件(如/var/log/myapp-access.log)。LOG_PATH环境变量指定日志路径(如LOG_PATH=/var/log/myapp.log node app.js),需检查应用的启动脚本或配置文件。pm2管理Node.js进程,日志默认存储在/var/log/pm2/目录下(如pm2.log为PM2自身日志,应用日志需通过pm2 logs your-app-name查看)。logs文件夹中,可使用tail -f /path/to/app/logs/app.log实时查看最新日志,或grep "error" /path/to/app/logs/*.log筛选错误信息。grep "keyword" /var/log/syslog筛选应用相关日志,或journalctl -u your-nodejs-service.service查看systemd服务的日志(替换your-nodejs-service为实际服务名)。pm2,可通过pm2 logs查看所有应用的实时日志,或pm2 logs your-app-name查看指定应用的日志。/var/log/syslog)可能需要sudo权限才能访问(如sudo grep "keyword" /var/log/syslog)。logrotate工具管理日志轮转,轮转后的日志会保留于/var/log目录(如app.log.1、app.log.2.gz),可通过/etc/logrotate.d/目录下的配置文件确认轮转规则。