2012-04-06 123 views
9

我登录电子错误即时我Java Swing应用程序:logger.error("ERROR: " + ex);,其中EX是例外如何打印堆栈跟踪日志文件中

这只是打印我13:33:58,964 ERROR PlayOffPanel:292 - ERROR: java.lang.NullPointerException

,但我想知道堆栈跟踪。

我log4j的性质在:

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 

回答

37

你必须写

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

看那javadoc,如果你想堆栈跟踪异常必须是第二个参数。

+1

笑我的愚蠢的错误THX很多 – hudi 2012-04-06 08:19:54

+0

如果不包含的功能异常,您使用的是自定义错误消息'logger.error',你仍要打印堆栈跟踪? – Mark 2014-04-16 22:31:19

8

通常,您还可以将Throwable实例传递给记录器,例如,

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