0
我正在Heroku上使用一個大的Node.js應用程序,由Papertrail維護日誌記錄。我有一箇中央錯誤處理和日誌記錄功能,目前它只是向控制檯記錄一個錯誤,顯示一個通用的「發生錯誤!」對話框,並將客戶端重定向到特定頁面(具體取決於發生錯誤的位置)。但是,Papertrail和Heroku都沒有將其視爲真正的錯誤,並且在發生錯誤時我不會收到任何類型的通知或警報。悄悄地向Papertrail報告錯誤
目前,這是我的函數:
utilities.errorLogger = (err) => {
console.error(err);
};
我試圖拋出錯誤,這就像如下:
utilities.errorLogger = (err) => {
throw new Error(err);
};
但隨後的錯誤顯示給客戶端而不是被重定向,讓最終用戶感到困惑。同樣,將錯誤放入try-catch塊並不會改變我目前所擁有的任何東西(錯誤已記錄,但未被Papertrail或Heroku拾取)。
utilities.errorLogger = (err) => {
try {
throw new Error(err);
}
catch (err) {
console.error(err);
}
};
如何我默默地拋出一個錯誤Papertrail和Heroku上就拿起並當作一個錯誤,而無需將錯誤發送到客戶端?我希望能夠默默地處理錯誤並在後臺繼續進行報告,而不是將任何錯誤詳細信息發送給客戶端。