相关疑难解决方法(0)

log4j没有打印异常的stacktrace

我正在使用log4j和tomcat.当我在JSP中记录异常时,servlet:

private Logger _log = Logger.getLogger(this.getClass());
...
try{...} catch (Exception e) {
    _log.error("Error refreshing all prices", e);
}
Run Code Online (Sandbox Code Playgroud)

我只得到异常的第一行,没有堆栈跟踪.

17-Feb 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
Run Code Online (Sandbox Code Playgroud)

java logging tomcat log4j

67
推荐指数
4
解决办法
6万
查看次数

在记录器中获取堆栈跟踪

我正在使用log4j来记录我的异常.我想记录我得到的任何内容e.printStackTrace();
我的代码如下所示:

try {

} catch(Exception e) {
    log.error("Exception is:::" + e);
}
Run Code Online (Sandbox Code Playgroud)

但我记录的内容如下所示:

2012-02-02 12:47:03,227 ERROR [com.api.bg.sample] - Exception in unTech:::[Ljava.lang.StackTraceElement;@6ed322
2012-02-02 12:47:03,309 ERROR [com.api.bg.sample] - Exception is :::java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Run Code Online (Sandbox Code Playgroud)

但我期望的内容是:

java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at com.api.bg.sample.unGZIP(sample.java:191)
at com.api.bg.sample.main(sample.java:69)
Run Code Online (Sandbox Code Playgroud)

我尝试过e.getMessage(),e.getStackTrace();但是我没有得到完整的堆栈跟踪.有什么建议?

java log4j stack-trace

44
推荐指数
2
解决办法
6万
查看次数

如何在日志文件中打印堆栈跟踪

我在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
Run Code Online (Sandbox Code Playgroud)

java log4j

10
推荐指数
2
解决办法
4万
查看次数

标签 统计

java ×3

log4j ×3

logging ×1

stack-trace ×1

tomcat ×1