2016-05-13 70 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