在 Debian 上“开启 Node.js 日志”通常分几种情况,下面按最常见场景给你说明,你可以按需选择。
Node.js 默认不会自动写日志文件,需要你在代码里输出,并由运行方式决定日志去向。
console.log('服务启动');
console.error('错误信息');
PM2 会自动管理 Node.js 日志。
sudo npm install -g pm2
pm2 start app.js
pm2 logs
pm2 logs app
~/.pm2/logs/
node app.js > app.log 2>&1 &
tail -f app.log
如果你的 Node.js 是作为服务运行:
sudo nano /etc/systemd/system/nodeapp.service
示例:
[Unit]
Description=Node.js App
After=network.target
[Service]
ExecStart=/usr/bin/node /var/www/app/app.js
WorkingDirectory=/var/www/app
User=www-data
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodeapp
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reexec
sudo systemctl enable nodeapp
sudo systemctl start nodeapp
journalctl -u nodeapp -f
DEBUG=* node app.js
或
NODE_DEBUG=http,net node app.js
| 场景 | 推荐方式 |
|---|---|
| 开发 | console.log |
| 生产 | PM2 / systemd |
| 长期保存 | Winston / Pino |
| 容器 | 输出 stdout |
如果你能告诉我:
我可以给你更精确的配置示例。