有没有办法把pm2中的logs/errors代码改成运行代码?

Is there a way to divert logs/errors to run code in pm2?

我希望能够 运行 编写代码以正确记录错误然后使进程崩溃,而不是在出现错误时立即使进程崩溃,例如全局 try catch。 有没有办法做到这一点? 我想要一个像

这样的解决方案
process.on("uncaughtException", err => {
    logTheErrorSomehow();
    process.exit(1);
});

但这在 pm2 中不起作用,仅在节点中起作用。

经过一周的反复试验,我发现了这个有效的解决方案:

const pm2 = require('pm2');

pm2.launchBus(function(err, pm2_bus) {
  pm2_bus.on('process:exception', function(packet) {
    await logTheErrorSomehow(packet);
    process.exit(1);
  });
});

这就像 process.on("uncaughtException") 对节点所做的一样。