2012-02-02 1 views
27

J'utilise log4j pour consigner mes exceptions. Je veux connecter tout ce que je reçois dans e.printStackTrace();
Mon code ressemble à ceci:Obtention d'une pile dans le consignateur

try { 

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

Mais le contenu que je journalisés ressemble à ceci:

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 

Mais le contenu que je pense est:

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) 

J'ai essayé e.getMessage(), e.getStackTrace(); mais je n'obtiens pas la pile complète. Aucune suggestion?

Répondre

1

C'est actuellement log4j qui empêche l'impression de la pile de paquets à plein temps. Vous devez toutefois définir l'exception en tant que second paramètre pour la méthode d'erreur.

5

Changer votre déclaration de consignation:

log.error("Exception is: ", e); 
Questions connexes