Tôi đang sử dụng log4j với tomcat. Khi tôi ghi lại ngoại lệ trong các JSP của mình, các servlet:log4j không in stacktrace cho trường hợp ngoại lệ
private Logger _log = Logger.getLogger(this.getClass());
...
try{...} catch (Exception e) {
_log.error("Error refreshing all prices", e);
}
Tôi chỉ nhận được dòng đầu tiên của trường hợp ngoại lệ, không có chồng xếp chồng.
17-Tháng Hai 17:37:45 LỖI AutoContrib: 175 - ngoại lệ khi xuất bản csv file: java.lang.ArrayIndexOutOfBoundsException
Không rất hữu ích ở tất cả!
log4j.properties My tập tin (/tomcat/common/classes/log4j.properties) trông như thế này:
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
Theo như tôi có thể thấy bạn đang làm tất cả vì nó nên được thực hiện ... bạn sẽ thấy tất cả các stacktrace trong nhật ký của bạn. Bạn đang sử dụng phiên bản nào của log4j, Java và Tomcat? –
Chúng tôi đang sử dụng tomcat 5.5.17 và log4j-1.2.14 (Tôi nghĩ chúng tôi sẽ nâng cấp lên tc6 trong tương lai gần, nhưng tôi không chắc chắn sẽ tạo ra sự khác biệt nào?) – Ryan