Wydrukuj stos wywołań pełnych w printStackTrace ()?

Muszę napisać małą aplikację do analizowania logów, aby przetworzyć niektóre pliki dziennika wygenerowane przez zamkniętą bibliotekę źródła zewnętrznego (posiadającą własny rejestrator w środku) używaną w moim projekcie.

W przypadku wpisu wyjątku w dzienniku muszę zebrać zagregowane informacje o zastosowanych metodach wzdłuż śladu stosu od góry do rzeczywistego miejsca wyjątku.

Niestety domyślnie Java printStackTrace () nie drukuje każdej metody w stosie wywołań, ale do pewnej liczby, a reszta jest po prostu określana jako16 more....

Gdybym mógł sam złapać wyjątek, użyłbym getStackTrace () i wydrukował go sam, ale podstawowa przyczyna nigdy nie jest zawarta w wyjątku, który ta biblioteka generuje.

Czy istnieje sposób, aby poprosić Java o wydrukowanie całego stosu wywołań w stosie?

Poza moją sytuacją, czy wspólne ramy logowania mają taką opcję?

Edytować: Program działa na JVM firmy Sun z JDK 1.5.0_09. Brak możliwości zmiany tego.

questionAnswers(3)

yourAnswerToTheQuestion