2012-09-01 3 views
7

Wenn ich einige Java-Programm mit einem Befehl Java ExceptionTest werden Ausnahmen manchmal weggelassen und sieht aus wieWie kann ich ein vollständiges Protokoll der Ausnahmen in JAVA sehen?

Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD 
     at SOMEWHERE(unknown source) 
Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC 
     at SOMEWHER(unknown source) 
     ... 13 more 

I 13 in diesem Fall mehr Ausnahmen sehen möchten. Gibt es eine Option, alle Ausnahmeprotokolle anzuzeigen?

+0

Versuchen Sie log4j zu verwenden. –

Antwort

13

Sie sehen sie bereits, es ist nur die lächerliche Art und Weise Java (und Logback von Defaul) druckt Ausnahmen standardmäßig. Diese Stapelüberwachung:

Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD 
     at SOMEWHERE(unknown source) 
Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC 
     at SOMEWHER(unknown source) 
     ... 13 more 

tatsächlich bedeutet, den folgenden Programmstrom (von unten nach oben):

Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC 
     at SOMEWHER(unknown source) 
Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD 
     at SOMEWHERE(unknown source) 

Die ... 13 more (N common frames omitted in Logback) bedeutet nur, dass diese Ausnahmen vor bereits gedruckt wurden. Im Logback können Sie die Stack-Spur umstrukturieren, um Duplikate zu vermeiden und die Stack-Zeilen immer in der richtigen Reihenfolge zu drucken, siehe my blog.

Verwandte Themen