java - Log4j 不打印完整的堆栈跟踪

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

有什么建议吗?

最佳答案

这是因为您的转化模式

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

这是摘自ThrowableInformationPatternConverter

Outputs the ThrowableInformation portion of the LoggingEvent. By default, outputs the full stack trace.

%throwable{none} or %throwable{0} suppresses the stack trace.

%throwable{short} or %throwable{1} outputs just the first line.

%throwable{n} will output n lines for a positive integer or drop the last -n lines for a negative integer.

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

关于java - Log4j 不打印完整的堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206067/

相关文章:

java - 消除不必要的 log4j 设置输出

java - 网络 4.1 : Send multiple WebSocketFrame Fragments and Closer with ContinuationWebSocketFrame

java SimpleDateFormat 模式与参数不同

python - 日志记录模块不在 IPython 中打印

asp.net - 如何使用 Log4Net 启用 IP 地址日志记录

java - 使用 Spring 配置文件设置系统属性

java - import org.apache.log4j.Classloader 无法解析

Java NIO 路径 : getting the base path from a full path?

java - 在 joda time 中获取 'previous day at 15:00' 的最简单正确方法是什么

java - Log4j Fileappender 不会在它应该创建的位置创建文件