在 Debian 系统里“导出 JS 日志”通常分几种场景,下面按常见情况说明怎么做。
node app.js > /var/log/js/app.log 2>&1
>:标准输出2>&1:错误输出也写入nohup 或 systemd 使用pm2 logs > /var/log/js/pm2.log
# 或导出某应用
pm2 logs appName --lines 1000 > app.log
如果 JS 服务由 systemd 管理:
journalctl -u your-js-service.service > js.log
实时导出:
journalctl -u your-js-service.service -f
console.log = (function(log) {
return function() {
log.apply(console, arguments);
fetch('/log', { method:'POST', body: JSON.stringify(arguments) });
};
})(console.log);
app.post('/log', (req, res) => {
fs.appendFileSync('/var/log/js/frontend.log', req.body + '\n');
res.send('ok');
});
electron app.js --log-file=/var/log/js/electron.log
/etc/rsyslog.d/js.conf如果你能说明:
我可以给你更精确的命令。