默默地向纸质报告错误



我正在使用Heroku上的大型node.js应用程序,并由纸质拖船维护。我有一个中央错误处理和记录函数,目前,该功能仅将错误记录到控制台上,显示一个通用的"发生错误!"对话框,然后将客户端重定向到特定页面(取决于错误发生的位置)。但是,造纸技术和Heroku都不将其视为真正的错误,如果以及何时出现,我都不会收到任何通知或警报。

目前,这是我的功能:

utilities.errorLogger = (err) => {
    console.error(err);
};

我试图投掷错误,该错误如下:

utilities.errorLogger = (err) => {
    throw new Error(err);
};

但是,该错误显示给客户端,而不是被重定向,而最终用户感到困惑。同样,将错误放在trycatch块中也不会从我当前拥有的任何内容中更改任何内容(错误已记录但没有被PaperTrail或Heroku拾取)。

utilities.errorLogger = (err) => {
    try {
        throw new Error(err);
    }
    catch (err) {
         console.error(err);
    }
};

我如何默默地丢下纸质编写和heroku的错误来捡起并作为错误,而无需将错误发送给客户端?我希望能够默默处理错误并在后台继续进行报告,而不是向客户端发送任何错误详细信息。

最终找到答案。我正在使用keystonejs,其中带有我以前从未见过的默认错误处理程序;我现在将其修改为重定向人员,同时仍然能够记录错误。

最新更新