在 Debian 上“开启 Node.js 日志”通常有好几种场景,下面按常见需求给你说明,你可以对照使用。
console.log最简单方式,无需配置:
console.log('server started');
运行:
node app.js
日志会直接输出到终端。
生产环境建议使用:
winstonpinolog4js示例(winston):
npm install winston
const winston = require('winston');
const logger = winston.createLogger({
transports: [
new winston.transports.File({ filename: 'app.log' }),
new winston.transports.Console()
]
});
logger.info('Node.js 日志已开启');
node app.js > app.log 2>&1
nohup node app.js > app.log 2>&1 &
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
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp
journalctl -u nodeapp -f
✅ 这是 Debian 上最规范的方式
Node.js 本身没有系统日志开关,日志完全由应用控制。
如果你指的是:
可以告诉我具体场景,我可以直接给你对应配置。
| 场景 | 方法 |
|---|---|
| 开发调试 | console.log |
| 生产运行 | winston + 文件 |
| Debian 服务 | systemd + journalctl |
| 后台进程 | nohup + 重定向 |
如果你愿意,可以告诉我:
我可以直接给你一套完整配置。