我如何发送电子邮件的每一个错误,发生在Node.js

How do I send an email for every error that occurs in Node.js?

本文关键字:Node js 错误 何发送 电子邮件 每一个      更新时间:2023-09-26

假设我的node.js应用程序正在运行。如果有一个错误(我的意思是所有的错误。不仅仅是网络错误。如果它变成Err out(它计数),我如何调用一个函数来发送电子邮件给我?

基本上,在我想写err之前。我想要一封电子邮件给我。

我使用node.js和express.

编辑:我知道怎么发电子邮件。我想知道的问题是如何拦截错误。您知道当出现错误时,它如何记录到out.log?现在,我是tail - out.log,监视错误。我不能整天坐在家里干这个。我想让错误邮件给我,只要它弹出在out.log。

我希望所有错误通过电子邮件发送给我。(不只是表达错误)。

您可以将节点的全局console.error()函数替换为发送电子邮件的一个实现:

console.error = function(msg) {
  // send email
  // ...
  // additionaly log
  process.stderr.write(msg);
};

那么每个库中对console.error()的调用将调用您的特定实现发送邮件;)

既然所有日志条目都存储在有限数量的日志文件中,那么与其尝试拦截所有可能的错误事件,为什么不直接设置一个文件更改监视器并将新行发送给您呢?这样,您还可以使用最近一小时/一天/…的摘要日志条目来安排间隔。与打开单独的邮件相比,这将容易得多。