Ich weiß, dass diese Frage ein wenig außerhalb des Bereichs von Stack Overflow liegt, aber ich finde nichts und ich frage mich, ob ich nach dem Falschen suche.Fehler melden von einer JavaFX-Anwendung oder einer Java-Anwendung
Ich habe eine JavaFX-Anwendung entwickelt, und ich versuche zu verfolgen, wenn es abstürzt oder eine unerwartete Ausnahme erhält. Ich weiß, dass es unzählige Dienste und Bibliotheken gibt, die dies für Web-Anwendungen tun, und mir sind sogar ein oder zwei für .Net-Anwendungen bekannt, aber ich finde keine vielversprechende Lösung für JavaFX.
finde ich tat:
- CrashFX: es scheint, es ist not getting much development und es erfordert me hosting the server, die ich lieber nicht tun, wenn ich vermeiden können.
- Crashlytics: Nur es ist für Android, nicht für JavaFX
Es gibt viele Fehler Tracker da draußen in der Welt, wie Sentry, Rollbar, etc., aber alle von ihnen für Server-Anwendungen konzipiert scheinen die ist anders als Client-Anwendungen.
Zum Beispiel ist es in Serveranwendungen sehr einfach, jede Anforderung in einen Catch-All-Handler zu verpacken, der die Ausnahme meldet. Eine Client-Anwendung generiert Threads, jeder Thread benötigt einen eigenen Handler. Die ganze Anwendung kann abstürzen (eigentlich, wenn etwas schief geht, ist der komplette Absturz der richtige Vorgang, anstatt eine App im falschen Zustand zu belästigen). An diesem Punkt sollte ein Popup erscheinen, um nach Feedback zu fragen und den Bericht an den Server zu senden.
Ein Beispiel hierfür in .Net von Hand tun: https://stevenbenner.com/2010/01/reporting-of-unhandled-exceptions-in-your-distributable-net-application/
Wenn Sie sagen, Abstürze beziehen Sie sich auf einen Systemfehler oder auf Ihren App-Fehler aufgrund einiger unbehandelter Ausnahmen? Wenn Ihr Code sicher ist, dh Sie jede Ausnahme (Runtime) behandeln, benötigen Sie lediglich einen Protokollmechanismus, um ein Protokoll mit dem tatsächlichen Fehler und der tatsächlichen Uhrzeit zu informieren/speichern. Falls ich Sie nicht richtig verstanden habe, lassen Sie es mich wissen. – JKostikiadis
@JKostikiadis: Abstürze und oder Ausnahmen, schließlich sind Abstürze in Java nur unbehandelte Ausnahmen (ich mache mir keine Sorgen, dass die JVM selbst abstürzt). Ob ich alle Ausnahmen aufspüre und sie aufzeichne oder die Blase platziere und eine Art Wrapper sie protokolliere, funktioniert auf jeden Fall (und tatsächlich könnte ich eine Mischung aus diesen beiden Szenarien beenden). – Pablo
Sie müssen sich nicht auf JavaFX beschränken; Sie benötigen lediglich ein Java-kompatibles SDK. Hast du [Sentry] (https://sentry.io/for/java/) angeschaut? – beatngu13