Mi chiedevo se qualcuno avesse esperienza nel gestire gli errori JavaScript a livello globale e inviarli dal browser client a un server.
Penso che il mio punto sia abbastanza chiaro, voglio sapere ogni eccezione, errore, errore di compilazione, ecc. Che accade sul lato client e inviarli al server per segnalarli.
Uso principalmente MooTools e head.js
(per il lato JS) e Django per il lato server.
Ho recentemente testato Sentry in produzione e funziona perfettamente (JS e altri linguaggi come PHP)
1- È open source (puoi installarlo sul tuo server) 2- Puoi usare il piano gratuito (100 rapporti / giorno)
O installalo sul tuo server: github.com/getsentry
Vorrei controllare window.onerror
Esempio:
window.onerror = function(message, url, lineNumber) { //save error and send to server for example. return true; };
Tieni presente che la restituzione di true preverrà l’triggerszione del gestore predefinito e il reso false consentirà l’esecuzione del gestore predefinito.
Inoltre, il servizio http://jslogger.com può essere d’aiuto:
Registra errori ed eventi Javascript nel cloud
da http://jslogger.com/features :
D’ora in poi potrai spiare tutti gli errori che interrompono l’esperienza utente del tuo sito. Ogni errore Javascript verrà catturato e portato a termine per il debug successivo.
DISCLAIMER: non affiliato al servizio / azienda.
Puoi provare Atatus : si tratta di un nuovo servizio di rilevamento degli errori JavaScript insieme a Real User Monitoring (RUM) per le moderne applicazioni web.
Non catturiamo solo gli errori, ma anche gli eventi utente che hanno causato l’errore. Questo ti dà i passaggi per riprodurre l’errore alla fine.
Accanto alla cattura degli errori, acquisiamo anche il tempo di caricamento della pagina e lo mostriamo su diverse prospettive: Geo, Browser, Page drill-down, Pageistogramma, Ajax Monitoring e Transaction Monitoring.
Documenti disponibili: https://www.atatus.com/docs
Disclaimer: Sono uno sviluppatore web presso Atatus.
Se disponi di Google Analytics sul tuo sito web, puoi utilizzarlo per registrare gratuitamente gli errori Javascript: https://developers.google.com/analytics/devguides/collection/analyticsjs/exceptions
O usalo con try...catch
come nell’esempio, o window.onerror
a window.onerror
.
Potresti voler dare un’occhiata a questo nuovo servizio, http://rescuejs.com/ .
Ti consente di registrare tutti gli errori di javascript senza scrivere codice lato server. Tiene traccia anche delle versioni del browser e così via.
Non sono sicuro che li considererei al 100% “enterprise ready”, ma vale sicuramente la pena di provarlo.