我有一个快速应用程序正在运行,我正在使用PM2使其保持活动状态并在系统出现任何错误时重新启动。 PM2记录错误并重新启动,这是完全正常的。 但我需要通过错误消息通知提交此文件的用户。是否有任何方式或事件或触发器在重新启动时或将错误写入日志文件时被激活,以便我可以尝试捕获并通知实际用户?
我按照以下建议实施,
var pm2 = require('pm2');
pm2.connect(function(err) {
if (err) {
console.error(err);
process.exit(2);
}
console.log("connected to pm2")
pm2.launchBus(function(err, bus) {
bus.on('log:err', function(e) {
// Send emails
console.log("error in pm2 send email");
});
});
});
我可以在output.log中看到“连接到pm2”,但我看不到任何地方打印的“pm2发送电子邮件中的错误”。但我看到一个错误日志,我触发强制错误情况在error.log中。
答案 0 :(得分:0)
1)您可以使用Keymetrics
中的警报系统2)您可以连接到pm2总线并捕获错误:
// alerts.js
var pm2 = require('pm2')
pm2.launchBus(function(err, bus) {
bus.on('log:err', function(e) {
// Send emails
});
});