error-handling error - Fange alle JavaScript-Fehler und sende sie an den Server




best practices (5)

Ich habe mich gefragt, ob jemand Erfahrung im Umgang mit JavaScript-Fehlern weltweit hat und diese vom Client-Browser an einen Server sendet.

Ich denke, dass mein Punkt ziemlich klar ist, ich möchte jede Ausnahme, Fehler, Kompilierungsfehler usw. wissen, die auf der Client-Seite passiert und sie an den Server senden, um sie zu melden.

Ich verwende hauptsächlich MooTools und head.js (für die JS-Seite) und Django für die Serverseite.


Answers

Sie können Atatus ausprobieren - Es ist ein neuer JavaScript-Fehler-Tracking-Service zusammen mit Real User Monitoring (RUM) für moderne Web-Anwendungen.

Wir erfassen nicht nur die Fehler, sondern auch die Benutzerereignisse, die den Fehler ausgelöst haben. Dies gibt Ihnen Schritte, um den Fehler an Ihrem Ende zu reproduzieren.

Neben der Fehlererfassung erfassen wir auch die Seitenladezeit und zeigen sie über verschiedene Perspektiven hinweg an - Geo, Browser, Seitenaufruf, Seitenhistogramm, Ajax-Überwachung und Transaktionsüberwachung.

Atatus

Dokumente verfügbar: https://www.atatus.com/docs

Disclaimer: Ich bin Webentwickler bei Atatus.


Ich habe Sentry kürzlich in der Produktion getestet und es funktioniert gut (JS und andere Sprachen wie PHP)

1- Es ist Open Source (Sie können es auf Ihrem eigenen Server installieren) 2- Sie können den freien Plan (100 Berichte / Tag) verwenden

Oder installieren Sie es auf Ihrem Server: https://github.com/getsentry


Vielleicht möchten Sie diesen neuen Dienst, http://rescuejs.com/ .

Lässt Sie alle Ihre Javascript-Fehler protokollieren, ohne selbst serverseitigen Code zu schreiben. Es verfolgt auch Browser-Versionen und so weiter.

Ich bin mir nicht sicher, ob ich sie für 100% "betriebsbereit" halten würde, aber es lohnt sich auf jeden Fall.


Ich würde window.onerror überprüfen

Beispiel:

window.onerror = function(message, url, lineNumber) {  
  //save error and send to server for example.
  return true;
};  

Beachten Sie, dass das Zurücksetzen von "true" das Auslösen des Standard-Handlers verhindert und "false" den Standard-Handler ausführen lässt.


Sie können //# sourceURL= und //# sourceMappingURL= am Ende Ihrer Skriptdatei oder Ihres Skript-Tags verwenden.

HINWEIS: //@ sourceURL und //@ sourceMappingURL sind veraltet.





javascript error-handling client-side