在 Debian 上修改 Node.js 的日志路径,取决于你是怎么运行 Node.js 的。下面按常见场景说明。
Node.js 本身没有统一的系统日志路径,日志路径是你在代码里指定的,例如:
const fs = require('fs');
const logStream = fs.createWriteStream('/var/log/myapp/app.log', { flags: 'a' });
✅ 修改方法:
const logPath = process.env.LOG_PATH || '/var/log/myapp/app.log';
~/.pm2/logs/
方式 1:启动指定
pm2 start app.js --log /var/log/myapp/app.log
方式 2:ecosystem.config.js
module.exports = {
apps: [{
name: 'myapp',
script: 'app.js',
error_file: '/var/log/myapp/err.log',
out_file: '/var/log/myapp/out.log',
log_file: '/var/log/myapp/combined.log'
}]
}
然后:
pm2 start ecosystem.config.js
journalctl -u yourapp.service
编辑 service 文件:
sudo vim /etc/systemd/system/yourapp.service
示例:
[Service]
ExecStart=/usr/bin/node /opt/myapp/app.js
StandardOutput=append:/var/log/myapp/out.log
StandardError=append:/var/log/myapp/err.log
然后:
sudo systemctl daemon-reload
sudo systemctl restart yourapp
✅ 日志就会写到:
/var/log/myapp/out.log
/var/log/myapp/err.log
Node 日志在 Node 自己那里
Nginx 日志在:
/var/log/nginx/access.log
/var/log/nginx/error.log
修改路径:
sudo vim /etc/nginx/sites-enabled/default
access_log /var/log/nginx/myapp_access.log;
error_log /var/log/nginx/myapp_error.log;
| 运行方式 | 日志位置 |
|---|---|
| 裸 node | 代码指定 |
| PM2 | ~/.pm2/logs |
| systemd | journald / 自定义文件 |
| Docker | docker logs |
如果你能告诉我:
我可以直接给你一份可直接用的配置。