仅当级别为调试时打印堆栈跟踪

Printing stacktrace only if level is debug

我们正在维护两个不同的日志文件,一个只记录错误消息,另一个用于记录调试信息。我不想用异常堆栈跟踪混淆错误文件,所以每次捕获任何异常时我都必须添加以下两行

try{
  ...
}
catch(Exception e){
   log.error("Error during SOME_SERVICE {}" , e.getMessage());
   log.debug("Exception ", e);
}

有没有更简单的方法来做到这一点,可能是在一行代码中?

正如评论中所建议的,我有两个选择,要么接受它,要么编写我自己的自定义记录器来执行预期的行为。现在,我保持原样。

对于自定义日志记录,有大量资源,因此 post 这里不会提供解决方案。

Implement Custom Logger with slf4j