2012-04-06 4 views
9

Jestem zakładania konta błąd im mojej aplikacji Java Swing: logger.error("ERROR: " + ex); gdzie ex jest wyjątekJak wydrukować ślad stosu w pliku dziennika

to po prostu wydrukować mi 13:33:58,964 ERROR PlayOffPanel:292 - ERROR: java.lang.NullPointerException

ale chcę wiedzieć StackTrace.

moje log4j properites:

log4j.rootLogger=DEBUG,file 

log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.maxFileSize=100KB 
log4j.appender.file.maxBackupIndex=5 
log4j.appender.file.File=error.log 
log4j.appender.file.threshold=DEBUG 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 

Odpowiedz

37

Trzeba napisać

logger.error("Error description",ex); 

Spójrz na javadoc wyjątek musi być drugie argumenty jeśli chcesz StackTrace.

+1

lol mój głupi błąd thx dużo – hudi

+0

Co jeśli to nie jest wyjątek, używasz 'logger.error' dla niestandardowego komunikatu o błędzie i chcesz wydrukować StackTrace anyways? – Mark

8

Zazwyczaj można przekazać instancję Throwable również do rejestratora, np.

logger.error("My custom message", exception)