Log4j没有打印完整的堆栈跟踪

时间:2016-05-13 09:19:35

标签: java logging log4j log4j2

我检查了SO 中的所有答案。但没有人真的帮助过我。

我的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()。不是完整的日志跟踪。

有什么建议吗?

1 个答案:

答案 0 :(得分:6)

这是因为你的转换模式

 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}以查看完整堆栈跟踪