【问题标题】:How to log the full stacktrace?如何记录完整的堆栈跟踪?
【发布时间】:2013-11-16 09:25:54
【问题描述】:

我正在使用log4j 记录未处理的异常。但是如何记录堆栈跟踪?

我尝试了以下方法:

Logger.getRootLogger().fatal(e);

结果: 2013-11-05 14:25:07,078 FATAL root: java.lang.NullPointerException 但没有堆栈跟踪!为什么?

【问题讨论】:

标签: java logging log4j


【解决方案1】:

字段元素

private static final Logger LOGGER = LogFactory.getLogger(YourClazz.class);

在您的方法中,只需登录 e

LOGGER.error("There was an error {}",e);

它将打印完整的堆栈跟踪

【讨论】:

  • 为此,Original Poster 需要 slf4j。否则,编译错误。
【解决方案2】:

尝试:

Logger.getRootLogger().fatal(e, e);

【讨论】:

  • 太棒了!我完全忽略了 e 必须作为第二个参数提供才能记录完整的堆栈跟踪。
  • 不客气。在工作了数小时或数天之后,我们迷失了自己。
猜你喜欢
  • 2014-01-06
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 2014-11-01
  • 1970-01-01
  • 2021-02-07
相关资源
最近更新 更多