Imprimir pilha de chamadas completa no printStackTrace ()?

Eu preciso escrever um pequeno aplicativo analisador de log para processar alguns arquivos de log gerados por uma biblioteca de código fechado de terceiros (com logger personalizado dentro) usado no meu projeto.

No caso de uma entrada de exceção no log, preciso coletar informações agregadas sobre os métodos envolvidos ao longo do rastreio de pilha do topo para o local real da exceção.

Infelizmente, por padrão, o Java printStackTrace () não imprime todos os métodos na pilha de chamadas, mas até um certo número, e o resto é apenas referenciado como16 more....

Se eu pudesse pegar a exceção eu usaria o getStackTrace () e imprimisse eu mesmo, mas a causa raiz nunca é incluída na exceção que esta biblioteca lança.

Existe uma maneira de pedir ao Java para imprimir toda a pilha de chamadas no stacktrace?

Além da minha situação, os frameworks de logging comuns têm opções para isso?

Editar: O programa é executado na JVM da Sun com o JDK 1.5.0_09. Nenhuma opção para mudar isso.

questionAnswers(3)

yourAnswerToTheQuestion