如何为Node.js中发生的每个错误发送电子邮件?

TIM*_*MEX 6 javascript debugging error-handling node.js express

假设我的node.js应用正在运行.如果出现错误(我的意思是所有错误.不仅仅是网页错误.如果它出错了,那就重要了),我该如何调用函数向我发送电子邮件?

基本上,在我想要写入err.out之前,我想要一封发给我的电子邮件.

我正在使用node.js和express.

编辑:我知道如何发送电子邮件.我想知道的问题是如何拦截错误.你知道当出现错误时,它会记录到out.log吗?那么,现在,我是tail -f out.log,监控错误.我不能整天坐在家里这样做.我想在out.log中弹出时随时通过电子邮件发送给我的错误.

我想通过电子邮件将所有错误发送给我.(不只是Express错误).如果已记录,我希望通过电子邮件发送该错误.

Tob*_* P. 11

您可以使用一个发送电子邮件的实现替换节点global console.error()函数:

console.error = function(msg) {
  // send email
  // ...

  // additionaly log
  process.stderr.write(msg);
};
Run Code Online (Sandbox Code Playgroud)

然后每个调用 console.error()的每个调用都会调用你的特定实现发送邮件;)

  • 你可以把它放在任何地方(但是尽可能早地最好),是的,然后在任何库中调用console.error()然后调用你的特殊console.error()函数. (2认同)