Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan Raygun untuk mengendalikan ralat dalam Node.js applications_node.js

Cara menggunakan Raygun untuk mengendalikan ralat dalam Node.js applications_node.js

WBOY
WBOYasal
2016-05-16 15:53:321237semak imbas

Pakej raygun4node kami menyediakan cara yang mudah untuk menghantar ralat Node.js anda kepada Raygun Ia boleh dipasang dengan mudah menggunakan npm:

npm install raygun

Ia memberi anda klien raygun yang boleh anda gunakan untuk mengkonfigurasi kunci API anda dan boleh digunakan untuk menghantar mesej ralat secara manual Tetapi kemudian anda mungkin berkata, “Saya tidak mahu menghantar semua ralat secara manual Raygun, nampaknya banyak kerja yang perlu dilakukan!" Jika anda menggunakan express.js, maka menggunakan pemproses express boleh menyelesaikan kebimbangan ini dengan mudah.

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

Dalam kes lain, anda mungkin hanya mahu mendengar uncaughtException dan menghantar mesej ralat dengan cara ini.

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

Jika anda akan mula melakukan ini, anda perlu memahami maksudnya Tetapi apabila gelembung masa kembali ke gelung acara, acara ini akan dipancarkan jika anda menambah pendengar untuk acara ini. maka Tindakan lalai tidak lagi berlaku. Tindakan lalai adalah untuk mencetak maklumat timbunan panggilan dan keluar dari proses Jika anda meneruskan selepas mencetuskan ini, proses nod anda akan berada dalam keadaan tidak ditentukan anda tidak seharusnya menggunakan ini, dan ia mungkin dialih keluar pada masa hadapan Alternatif yang dicadangkan ialah menggunakan domain Contoh kecil dan mudah ditunjukkan di bawah, dan anda boleh melihat klien raygun Bagaimana ia menyesuaikan diri dengan penggunaan domain anda.


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);

Semoga ini akan memberi anda pemahaman yang lebih baik tentang pengendalian ralat dalam Node.js menggunakan Raygun.

Bersihkan ralat secara berterusan!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn