使用slf4j+log4j2记录日志,不想打印异常栈

img

如上图,日志打印的时候如果报错了,会打印这样的异常栈。
现在有特殊的需求,我希望在使用下面的API的时候:

log.error("xxx= {}", xxxx, throwable);

不打印throwable对应的栈信息.

说明:

  1. 场景特殊,确实很奇葩
  2. 能帮我找到log4j中是在哪里把throwable对应的栈信息追加到Message对象中就可以

e.getMessage()?

自定义一个异常类吧,然后重写fillInStackTrace()方法

 @Override
    public synchronized Throwable fillInStackTrace() {

        return this;
    }

这样就不打印堆栈信息了

这个问题目前已经想到了解决方案