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

Gib*_*bbs 2 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}
Run Code Online (Sandbox Code Playgroud)

我的log4j版本

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.11</version>
  </dependency>
Run Code Online (Sandbox Code Playgroud)

登录格式

    logger.error("*****Error Id is:"+errorId+"\t" , e);
Run Code Online (Sandbox Code Playgroud)

我得到了什么

我刚刚进入e.getMessage()日志.不是完整的日志跟踪.

有什么建议吗?

San*_*eev 7

这是因为您的转换模式

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

这是摘录自 ThrowableInformationPatternConverter

输出LoggingEvent的ThrowableInformation部分.默认情况下,输出完整的堆栈跟踪.

%throwable {none}或%throwable {0}会抑制堆栈跟踪.

%throwable {short}或%throwable {1}只输出第一行.

%throwable {n}将输出n行为正整数或删除最后-n行为负整数.

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