Cattura tutti gli errori JavaScript e inviali al server

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.

https://www.atatus.com/

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.