Rumah > Artikel > hujung hadapan web > Gunakan Raygun untuk menjejaki pengecualian secara automatik dalam AngularJS_AngularJS
Salah satu pencapaian hebat Angular.js ialah melontar pengecualian praktikal, kerana mesej pengecualian selalunya boleh menunjukkan dengan tepat sebab kod anda ranap. Aplikasi web sisi pelanggan yang besar yang berjalan pada banyak penyemak imbas di seluruh dunia menghadapi pengecualian yang hilang, dan menangkapnya memungkinkan untuk membetulkan pepijat dan mendapatkan pengguna.
Apabila menangani isu merentas penyemak imbas dan peranti, adalah penting untuk menerima mesej pengecualian ini kerana apl anda mungkin berjalan dengan betul dan boleh dipercayai pada mesin pembangunan anda, tetapi tidak pada penyemak imbas pengguna anda.
Penyelesaiannya adalah untuk mempunyai perkhidmatan penjejakan pengecualian automatik dan Raygun memudahkan kerja dengan menerima semua pengecualian yang dilemparkan oleh apl web Angular anda tanpa memerlukan anda melakukan apa-apa. Ia benar-benar pantas untuk disediakan - cuma ikut langkah di bawah untuk memaut Raygun ke dalam aplikasi anda.
Pasang
Mula-mula, muat turun skrip Raygun4JS kecil dan tambahkannya pada projek anda. Terdapat 3 cara untuk mendapatkan:
Oleh Bower
Dapatkan daripada NuGet - Dalam Visual Studio, buka konsol Pengurus Pakej dan taip:
Muat turun manual – Klik di sini untuk memuat turun versi dev atau versi termampat
Tatarajah
Seterusnya, petik skrip ini. Jika anda menggunakan HTML statik, tambahkan 318529830bc9dd28df5c4e1a87c87d072cacc6d41bbb37262a98f745aa00fbf0
Akhir sekali, panggil kod berikut untuk menyediakan Raygun4JS sebelum logik Sudut utama anda dilaksanakan:
Raygun.init('YOUR_API_KEY').attach();
Anda boleh menjana kunci API untuk setiap apl yang dibuat dengan Raygun, dan anda boleh mengaksesnya dalam papan pemuka Raygun anda - anda mempunyai percubaan percuma selama 30 hari untuk mengujinya.
Menangkap Pengecualian dalam Sudut
Terdapat sekurang-kurangnya dua cara untuk menyuntik pengecualian yang tidak dikendalikan ke dalam modul Angular.js, dengan menggunakan penghias atau kilang. Kedua-dua kaedah ini akan memberikan anda pelaksanaan khusus $exceptionHandler, dan Raygun4JS yang kami nyatakan di atas akan menghantar pelaksanaan kepada Raygun.
Gunakan penghias
Corak penghias sangat sesuai untuk menyuntik gelagat ke dalam mana-mana perkhidmatan kerana ia tidak menimpa gelagat asal untuk memastikan pemisahan kebimbangan antara ciri lain yang diingini Ia juga merekodkan pengelogan dan pemprosesan Cara yang sesuai untuk mengendalikan pengecualian boleh digunakan dalam perkhidmatan $provide, yang akan kami gunakan untuk melaksanakan
kami sendiri$exceptionHandler 函数: app.config(function ($provide) { $provide.decorator("$exceptionHandler", ['$delegate', function($delegate) { return function (exception, cause) { Raygun.send(exception); $delegate(exception, cause); } }]) });
$delegate ialah entiti pengendali pengecualian, yang akan kami panggil untuk mendapatkan gelagat asal output ke konsol.
Anda juga boleh membuat seberapa banyak perkhidmatan lain yang anda perlukan:
$provide.decorator("$exceptionHandler", ['$delegate', '$log', function($delegate, $log) { return function (exception, cause) { $log.debug('Sending to Raygun'); Raygun.send(exception); $delegate(exception, cause); } }])
Bergantung pada jenis ralat yang diambil daripada logik Sudut, parameter punca diisi. Jika pengecualian berlaku dalam kilang atau perkhidmatan, anda mungkin mendapat julat yang boleh dimiliki oleh parameter tersebut, anda boleh Gunakannya sebagai tersuai data dengan menggantikan panggilan Raygun.send di atas, bersama-sama dengan apa-apa lagi yang anda perlukan, dan menyerahkannya kepada Raygun:
Raygun.send(exception, { cause: cause });
Guna kilang
Cara cepat untuk meletakkan Raygun ke dalam pengendali pengecualian aplikasi anda adalah dengan menggunakan kilang, walaupun ia akan mengalih keluar log konsol asal, yang perlu disimpan jika anda ingin mengekalkan nilai asal dan memanggilnya semula .
app.factory('$exceptionHandler', function () { return function (exception) { Raygun.send(exception); } });
Ralat penghantaran manual
Raygun4JS juga memberi anda keupayaan untuk mengesan ralat secara manual pada bila-bila masa dengan mudah:
Raygun.send(new Error('my custom error'));
Es gibt eine Reihe weiterer Tools, die Sie beim Anbieter nutzen können, darunter eindeutige Benutzerverfolgung, Versionsverfolgung, Tags und mehr – Hier ist die Dokumentation, um alle Vertrauensinformationen für anzuzeigen.
Raygun kann sogar jQuery-Ajax-Fehler in Ihrer Angular-App verfolgen, ohne dass Sie etwas extra tun müssen, sodass Sie sofort umfassend betreut werden
Bereit, Raygun zu verwenden?
Wie bereits erwähnt, gibt es eine 30-tägige kostenlose kreditkartenfreie Version, sodass Sie sehen können, ob Ihre App tatsächlich für Ihre Benutzer funktioniert, wenn Sie Fragen dazu haben Wenn Sie diesen Artikel lesen, hinterlassen Sie sie bitte unten in den Kommentaren.