Мне нужно написать небольшое приложение для анализа журналов, чтобы обрабатывать некоторые файлы журналов, сгенерированные сторонней библиотекой с закрытым исходным кодом (имеющей собственный регистратор внутри), используемой в моем проекте.
В случае записи об исключении в журнале мне нужно собрать агрегированную информацию о методах, задействованных в трассировке стека, от вершины до фактического места исключения.
К сожалению, по умолчанию Java printStackTrace () печатает не каждый метод в стеке вызовов, но до определенного числа, а на остальные просто ссылаются как 16 more...
.
Если бы я мог поймать исключение самостоятельно, я бы использовал getStackTrace () и напечатал его сам, но основная причина никогда не включалась в исключение, которое выдает эта библиотека.
Есть ли способ попросить Java напечатать весь стек вызовов в трассировке стека?
Помимо моей ситуации, есть ли возможность для этого в стандартных каркасах ведения журналов?
Редактировать: Программа работает на JVM от Sun с JDK 1.5.0_09. Нет возможности изменить это.