我使用的是tomcat的log4j。當我在JSP中記錄異常時,servlets:log4j不打印例外的堆棧跟蹤
private Logger _log = Logger.getLogger(this.getClass());
...
try{...} catch (Exception e) {
_log.error("Error refreshing all prices", e);
}
我只得到異常的第一行,沒有堆棧跟蹤。
17月17時37分45秒ERROR AutoContrib:175 - 異常而發佈CSV文件: java.lang.ArrayIndexOutOfBoundsException
不是非常有幫助了!
我log4j.properties文件(/tomcat/common/classes/log4j.properties)看起來是這樣的:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{dd-MMM HH:mm:ss} %5p %c{1}:%L - %m%n
log4j.appender.stdout.threshold=info
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=5000KB
log4j.appender.file.maxBackupIndex=10
log4j.appender.file.File=${catalina.home}/logs/web.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MMM HH:mm:ss} %5p %c{1}:%L - %m%n
log4j.appender.file.threshold=info
log4j.rootLogger=debug, stdout, file
據我所見,你所做的一切都應該完成......你應該看到你的日誌中的所有堆棧跟蹤。你正在使用哪個版本的log4j,Java和Tomcat? – 2010-02-19 09:03:29
我們使用的是tomcat 5.5.17和log4j-1.2.14(我想我們會在不久的將來升級到tc6,但我不確定這會有什麼區別?) – Ryan 2010-02-19 09:05:37