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/
目录下的配置文件确认轮转规则。