ホームページ  >  記事  >  ウェブフロントエンド  >  Raygun を使用して Node.js のエラーを処理する方法 application_node.js

Raygun を使用して Node.js のエラーを処理する方法 application_node.js

WBOY
WBOYオリジナル
2016-05-16 15:53:321237ブラウズ

私たちの raygun4node パッケージは、Node.js エラーを Raygun に送信する便利な方法を提供します。これは、npm:
を使用して簡単にインストールできます。

npm install raygun

API キーの設定に使用できる raygun クライアントが提供され、エラー メッセージを手動で送信するために使用できます。しかし、後で「すべてのエラーを手動で送信したくない。 Raygun、それはやることがたくさんありそうですね!」 Express.js を使用している場合は、Express のプロセッサを使用すると、この心配を簡単に解決できます。

var raygun = require('raygun');
var raygunClient = new raygun.Client().init({ apiKey: 'your API key' });
app.use(raygunClient.expressHandler);

他の場合には、単に uncaughtException をリッスンして、この方法でエラー メッセージを送信することもできます。

var raygun = require('raygun');
var raygunClient = new raygun.Client().init({ apiKey: 'your API key' });
process.on('uncaughtException', function(err) {
 raygunClient.send(err);
});
 

これを開始する場合は、それが何を意味するのかを理解する必要があります。ただし、タイム バブルがイベント ループに戻ると、このイベントのリスナーを追加すると、このイベントが発行されます。デフォルトのアクションは、コールスタック情報を出力してプロセスを終了することです。これをトリガーした後、ノードプロセスは未定義の状態になります。これは使用しないでください。将来削除される可能性があります。提案されている代替案はドメインを使用することです。簡単な例を以下に示します。raygun クライアントがドメインの使用にどのように適応するかがわかります。


var domain = require('domain');
var raygun = require('raygun');
var raygunClient = new raygun.Client().init({ apiKey: 'your API key' });
var server = require('http').createServer(function (req, res) {
 var d = domain.create();
 d.on('error', function (err) {
  raygunClient.send(err);
  // clean up and end
 });
 d.add(req);
 d.add(res);
 d.run(function () {
  // handle the req, res
 });
});
server.listen(3000);

これにより、Raygun を使用した Node.js でのエラー処理についての理解を深めることができれば幸いです。

継続的にエラーをクリーンアップしてください!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。