Vollständige Aufrufliste auf printStackTrace () drucken?

Ich muss eine Protokollanalyseanwendung klein schreiben, um einige Protokolldateien zu verarbeiten, die von einer geschlossenen Quellbibliothek eines Drittanbieters (in der sich ein benutzerdefinierter Protokollierer befindet) in meinem Projekt erstellt wurden.

Im Falle eines Ausnahmeeintrags im Protokoll muss ich aggregierte Informationen zu den beteiligten Methoden entlang des Stack-Trace vom Anfang bis zum tatsächlichen Ort der Ausnahme sammeln.

Leider druckt Java printStackTrace () standardmäßig nicht jede Methode im Call-Stack, sondern bis zu einer bestimmten Zahl, und der Rest wird nur als bezeichnet16 more....

Wenn ich die Ausnahme selbst abfangen könnte, würde ich getStackTrace () verwenden und selbst drucken, aber die Grundursache ist nie in der Ausnahme enthalten, die diese Bibliothek auslöst.

Gibt es eine Möglichkeit, Java aufzufordern, den gesamten Aufrufstapel in der Stapelverfolgung zu drucken?

Haben abgesehen von meiner Situation übliche Protokollierungs-Frameworks eine Option dafür?

Bearbeiten: Das Programm läuft auf Suns JVM mit JDK 1.5.0_09. Keine Option, das zu ändern.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage