Pessoal, estou fazendo a parte de erros de uma aplicação, e gostaria de salvar todo o stackTrace das exceptions genericas, leia-se não tratas.
Porem eu so consigo pegar em um StringBuilder a primeira parte do StackTrace
Na primeira chamada passe isCause como false e o StringBuilder que conterá a exceção. Note que nem sempre existe uma causa, então é bom mesmo testar se getCause() não retorna null.
V
ViniGodoy
Só de curiosidade: Como vc está está capturando as exceções não tratadas?
Usa um Thread.setDefaultUncaughtExceptionHandler?
Usa um thread.setUncaughtExceptionHandler?
Usa algum recurso do seu servidor?
Ou dá um try…catch(Throwable e) no seu main?
V
ViniGodoy
Se você não quiser mudar em nada o formato do StackTrace, você também pode usar um StringWriter:
public String logThrowable(Throwable thrown) {
StringWriter sw = new StringWriter();
thrown.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
Note que no lugar do StringWriter, vc poderia fazer o PrintWriter escrever para um arquivo diretamente.
F
Felagund
é try e catch
tudo é circundado por instruções indo das Exceptions que nos conhecemos indo ate a generica Exception, e quando ocorrer Exception, pedir para notificar.
Usei com StringWriter, funcionou muito bem. Simples pratico e facil.