2017-09-03 4 views
0

私は、Herpertの大きな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のは、クライアントにエラーを送信するために必要とせずに、上ピックアップし、エラーとして処理することのために、私は黙ってエラーを投げることができますか?クライアントにエラーの詳細を送信するのではなく、エラーを静かに処理して、レポートをバックグラウンドで実行できるようにしたいと考えています。

答えて

0

解決済みです。私はKeystoneJSを使用しています。これには以前は見たことのないデフォルトのエラーハンドラが付属しています。私はこれを修正して、エラーをログに残したままで人をリダイレクトするようにしました。

関連する問題