2012-02-02 10 views
27

Estoy usando log4j para registrar mis excepciones. Quiero registrar todo lo que pongo en e.printStackTrace();
Mi código es el siguiente:Obtención de stacktrace en el registrador

try { 

} catch(Exception e) { 
    log.error("Exception is:::" + e); 
} 

Sin embargo, el contenido de mi sesión de usuario es similar al siguiente:

2012-02-02 12:47:03,227 ERROR [com.api.bg.sample] - Exception in unTech:::[Ljava.lang.StackTraceElement;@6ed322 
2012-02-02 12:47:03,309 ERROR [com.api.bg.sample] - Exception is :::java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 

Pero el contenido que espero es:

java.io.IOException: Not in GZIP format 
at java.util.zip.GZIPInputStream.readHeader(Unknown Source) 
at java.util.zip.GZIPInputStream.<init>(Unknown Source) 
at java.util.zip.GZIPInputStream.<init>(Unknown Source) 
at com.api.bg.sample.unGZIP(sample.java:191) 
at com.api.bg.sample.main(sample.java:69) 

Probé e.getMessage(), e.getStackTrace(); sin embargo, no obtengo la stacktrace completa. ¿Alguna sugerencia?

Respuesta

1

Es realmente log4j que impide la impresión de stacktrace a tiempo completo. Sin embargo, debe establecer la excepción como un segundo parámetro para el método de error.

5

Cambiar la declaración de registro a:

log.error("Exception is: ", e); 
Cuestiones relacionadas