Ich habe eine RCP-Anwendung, für die ich alle Stacktraces erfassen möchte. Ich verwende derzeit slf4j für mein Logging-Mechanismus. Wenn ich zum Beispiel meine RCP-Anwendung in Eclipse ausführe, kann ich das Konsolenfenster betrachten und alle Stacktraces sehen, die nicht explizit vom Code erfasst wurden. Wenn ich die Anwendung exportiere und sie außerhalb von Eclipse laufe, sehe ich diese Stacktraces nicht. Ich möchte den Code nicht mühsam ändern, um try/catch-Blöcke zu verwenden (weil es eine Menge Code gibt). Ich würde eher auf den Mechanismus tippen, den Eclipse benutzt, um das Gleiche zu tun (Es setzt try/catch nicht in meinen Code, aber er meldet es in der Konsole). Gibt es eine einfache Möglichkeit, was Eclipse in meinem RCP-Code macht, so dass es, wenn ich es von außerhalb der Eclipse aus führe, in meinen Log-Dateien auftaucht?Java - Catch alle Stacktraces
0
A
Antwort
0
Ich bin nicht vertraut mit dem RCP-Framework; Normalerweise können Sie jedoch einen Thread-Gruppen--Handler für nicht abgefangene Ausnahmen einrichten.
Mit anderen Worten: Sie können eine Komponente definieren, die für jede nicht abgefangene Ausnahme ausgelöst wird. Und diese Komponente könnte einfach eingehende Ausnahmen protokollieren.
Für einen Beispielcode siehe here.
Verwandte Themen
- 1. Java: Versuch-Catch-Continue?
- 2. Java try/catch Methode
- 3. Dump stacktraces aller aktiven Threads
- 4. retry catch java mit Standbild
- 5. Wie entferne ich Newline aus Java-Stacktraces im Logback?
- 6. Wie verhindere ich, stacktraces in Protokollen
- 7. JAVA: Ausführen Catch nicht versuchen
- 8. Versuchen Catch With Loop Java
- 9. Java FileReader versuchen Catch-Platzierung
- 10. try-catch-Block in Java - Ausführungsanweisungen im Catch-Code
- 11. Gibt es eine Möglichkeit, die Stacktraces für alle Threads in C#, wie java.lang.Thread.getAllStackTraces() zu bekommen?
- 12. Wie vorübergehend alle Try Catch-Blöcke deaktivieren?
- 13. Catch alle uncaughtException für Node js app
- 14. Catch alle Fehler psql Funktion Ausnahme
- 15. Ein Catch für alle Methoden in Try?
- 16. C#: Finden Sie alle leeren Catch-Blöcke
- 17. Flask RESTful Fehlerbehandlung, wenn alle catch
- 18. MVC 4 catch alle Route nie erreicht
- 19. Log4j-Formatierung: Ist es möglich, Stacktraces abzuschneiden?
- 20. Logstash Multiline-Codec für Sellerie Stacktraces
- 21. Informative Stacktraces mit Karma + browserifizieren, wie?
- 22. Logback: Steuern der Formatierung von Ausnahme Stacktraces
- 23. String/int Exception Catch in Java
- 24. Try-Catch positive Zahlen in Java
- 25. Wie in Catch-Block in Java
- 26. Java try/catch args [0] nicht gefunden
- 27. Java-Ausnahme try-catch Ausnahme vs IOException
- 28. Java try catch (InputMismatchException) unerwartete Schleife
- 29. Sollten wir Catch schreiben (Ausnahme e) für jeden Versuch catch Block in Java
- 30. Wie fügt man JSR-045 SMAP-Informationen zur Laufzeit in Java-Stacktraces ein?
Wenn Sie Ihr RCP in Eclipse ausführen, wird eine neue JVM gestartet, um es auszuführen. Die Eclipse-Konsole zeigt nur alles an, was die neue JVM ausgibt. Das ist also nichts, was du außerhalb von Eclipse verwenden kannst. [Diese Frage] (https://stackoverflow.com/q/29900137/2670892) erwähnt einige Methoden, die Sie ausprobieren könnten. –
Vielleicht fehlt mir etwas, aber dieser Link zeigt einen RCP 3x Weg und einen internen Paket Weg. Keine wäre eine verfügbare Lösung. Habe ich einen anderen Weg verpasst? – ekjcfn3902039
Obwohl IEventLoopAdvisor eine interne Klasse ist, scheint es die beste Möglichkeit zu sein, unbehandelte Ausnahmen in e4 zu erfassen. Einige e4-APIs werden immer noch als intern eingestuft, da das Design noch nicht vollständig finalisiert ist. Es ist unwahrscheinlich, dass sie sich signifikant verändern werden (sicherlich OK in Eclipse Oxygen, veröffentlicht in diesem Monat). –