2012-04-30 7 views
16

Voglio registrare tutti gli errori JS nel mio progetto durante il tempo di beta test. Ora lo faccio nel seguente modo:Log javascript error

window.onerror = myErrHandler; 

function myErrHandler(message, url, line) 
{ 
    $.ajax({ 
     cache: false, 
     type: "post", 
     data: {error:message, url:url, line:line, brouser:navigator.userAgent}, 
     url: "/Home/LogJavaScript/", 
     async: true 
    }); 
    return true; 
} 

Ma in questo modo non è stato possibile ottenere informazioni sullo stack di chiamate. Quindi, le informazioni sugli errori all'interno di jQuery o di altri script esterni non potrebbero essere di grande aiuto.

C'è un modo per migliorare tale registrazione?

+3

: questo collegamento può aiutare http://stackoverflow.com/questions/147891/javascript-exception-stack-trace – dhinesh

risposta

10

Dai uno sguardo allo stacktrace.js, che dovrebbe fare il trucco.

+0

Esistono esempi in cui è possibile memorizzare lo stacktrace su un datastore (ajax)? –

+2

'stacktrace.js' non ti aiuterà con' window.onerror'. Ti dà la pila di onerror, non l'errore reale. Se vuoi lo stack, devi provare/prendere. https://github.com/eriwen/javascript-stacktrace/issues/26#issuecomment-2410664 – bendytree

0

Si potrebbe anche dare un'occhiata al mio progetto chiamato Muscula che logs your JavaScript errors È facile da configurare, basta aggiungere uno snippet di script e si sta registrando. E ':-) gratuito

+2

richiede una progettazione del sito migliore. –

+0

NON è gratuito. Sono $ 14 al mese. – Rocklan

+0

È stato pagato dopo che ho pubblicato. Inoltre l'ho venduto un anno fa o più. –

1

ExceptionHub è un altro buon servizio drop-in (a pagamento) che registra JS errori, con tracce di stack, li raggruppa, ecc

0

Date un'occhiata a JsLog.me servizio. Rileva errori e raccoglie interi log del client che possono essere utili per il ripristino della riproduzione dei bug durante i beta test. Funziona anche per applicazioni ibride (PhoneGap/Cordova).

1

Si potrebbe anche provare https://www.atatus.com/. Insieme alle tracce dello stack, Atatus cattura tutte le azioni dei tuoi visitatori in un'unica immagine chiara che porta all'errore. Oltre al tracciamento degli errori JavaScript, Atatus fornisce anche monitoraggio degli utenti reali, monitoraggio AJAX (XHR) e monitoraggio delle transazioni.