在 Debian 系统上导出 Node.js 日志文件,通常取决于你的 Node.js 应用是如何运行和记录日志的。下面按常见场景给你几种做法。
如果你的启动方式是:
node app.js
或
npm start
node app.js > node.log 2>&1
>:标准输出2>&1:错误输出也写入nohup node app.js > node.log 2>&1 &
查看日志:
tail -f node.log
pm2 logs
或查看具体应用:
pm2 logs app_name
PM2 日志默认在:
~/.pm2/logs/
例如:
~/.pm2/logs/app-name-out.log
~/.pm2/logs/app-name-error.log
直接拷贝即可:
cp ~/.pm2/logs/app-name-out.log /tmp/node_logs/
如果你的服务是:
systemctl status node-app
journalctl -u node-app.service
journalctl -u node-app.service > node-app.log
带时间范围:
journalctl -u node-app.service --since "2024-01-01" > node-app.log
如果代码里配置了日志文件,例如:
winston.add(new winston.transports.File({ filename: 'app.log' }))
直接找到文件即可:
find / -name app.log 2>/dev/null
tar -czf node_logs.tar.gz node.log
或:
scp node.log user@remote:/path/
如果你愿意,可以告诉我:
我可以给你更精确的命令。