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.