在Linux系统中,Node.js的日志存储位置取决于你的应用配置和日志记录方式。以下是常见的几种情况:
node app.js),日志会输出到终端(stdout/stderr),不会自动保存到文件。bash
node app.js > app.log 2>&1 # 合并stdout和stderr到app.log
app.log(或自定义路径)。通过第三方库(如winston、morgan、bunyan等)配置日志路径:
javascript
const winston = require('winston');
winston.add(new winston.transports.File({ filename: '/var/log/myapp.log' }));filename参数指定(如/var/log/myapp.log)。常见模块的默认路径:
morgan(HTTP请求日志):需显式配置输出流到文件。pino:默认输出到stdout,需通过参数指定文件。systemd),日志由journald管理:
bash
journalctl -u your-service-name.service # 查看服务日志StandardOutput和StandardError:
ini
[Service]
ExecStart=/usr/bin/node /path/to/app.js
StandardOutput=file:/var/log/node-app.log
StandardError=file:/var/log/node-app-error.logbash
~/.pm2/logs/ # 用户目录下的.pm2/logs/
app-name-out.log(标准输出)和app-name-err.log(错误日志)。bash
pm2 start app.js --log /var/log/myapp.logdocker logs查看:
bash
docker logs <container-id>bash
sudo find / -name "*.log" | grep -i nodeps aux | grep node找到应用路径,推测日志位置。winston)并明确指定路径(如/var/log/)。logrotate)以避免磁盘爆满。如果有具体场景或工具链,可以提供更多细节以便进一步定位!