2016-05-13 55 views
0

我检查的SO所有的答案。但没有人真的帮助我。Log4j的不打印结束的堆栈跟踪

我的Log4j的属性文件

log4j.rootLogger=debug,console,file 

log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n 

log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=eseries.log 
log4j.appender.file.MaxFileSize=1KB 
log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout 
log4j.appender.file.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n %throwable{short} 

我的log4j版本

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.11</version> 
    </dependency> 

洛格式

logger.error("*****Error Id is:"+errorId+"\t" , e); 

我得到的是

我只是在日志中获得e.getMessage()。不是完整的日志跟踪。

有什么建议吗?

+2

%抛出{短期}是问题,这是抑制堆栈跟踪 – user1933888

+0

,你也可以看看[API](HTTPS:/ /logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/EnhancedPatternLayout.html)获取更多信息。 –

回答

4

这是因为你的变换图案

log4j.appender.file.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n %throwable{short} 

这里是从ThrowableInformationPatternConverter

输出LoggingEvent所的ThrowableInformation部分摘录。默认为 ,输出完整的堆栈跟踪。

%throwable {none}或%throwable {0}禁止堆栈跟踪。

%throwable {short}或%throwable {1}仅输出第一行。

%throwable {n}将为正整数输出n行或为负整数输出最后的-n行。

您需要删除%throwable{short}看到完整的堆栈跟踪

+3

@downvoter请关注评论 – Sanjeev