Ich habe Client-Seite Ausnahme Protokollierung implementiert window.onerror
, wo ich den aktuellen Fehler und Stack-Trace abrufen und an den ServerFunktionieren JavaScript-Quellkarten beim Erfassen von Fehlern?
window.onerror = function(message, url, line) {
var stackTrace = printStackTrace(); //get stack trace
//send message, url, line and stackTrace to the server using an ajax call
}
wo printStackTrace
ist eine Funktion dieser Bibliothek zur Verfügung gestellt mit AJAX senden: http://stacktracejs.com/
Das Problem ist, dass in der Produktion alle JavaScript-Dateien minimiert werden, so dass die Stapelverfolgung und die Zeilennummer nicht wirklich hilfreich sind, da alle Fehler in Zeile 1 in der Datei gemeldet werden, da die verkleinerte Version eine einzelne Codezeile enthält. Beispiel:
Message: Object doesn't support property or method 'indexOf'
URL: http://[server]/[site]/content/combined/combined.635EE367354E6DF721593CAC56FECF95.min.js
Line: 1
Kann dies mithilfe von Quellzuordnungen verbessert werden, oder funktioniert das nur, wenn die Entwicklertools aktiv sind?
Was ich möchte ist die vollständige Stack-Trace mit den Quellkarten (oder zumindest die echte Zeilennummer), wenn ein Fehler für einen Benutzer auftritt, der nicht die Entwickler-Tools aktiviert/Quellkarten aktiviert hat. Ist das überhaupt möglich?
Benötigen Sie eine Lösung für das gleiche Problem. Wie lange bist du jetzt dabei? – IsmailS
@iSid habe keine Lösung gefunden. scheint, als wäre es nicht wirklich möglich, bis die Browser es implementieren. Ich weiß nicht mehr Informationen als in der Antwort geschrieben steht. Entschuldigung – SzilardD
@iSid diese Frage scheint mehr Lösungen zu haben: http://stackoverflow.com/questions/19420604/angularjs-stack-trace-ignoring-source-map – xmojmr