如何用SLF4J的占位符loginexception和消息

使用SLF4Jlogging错误消息和exception的正确方法是什么?

我试过这样做,但从不打印exception堆栈跟踪:

logger.error("Unable to parse data {}", inputMessage, e);

在这种情况下,我希望使用inputMessage填充{} ,并注销exceptioninputMessage

我能看到做到这一点的唯一方法是做到这一点:

logger.error("Unable to parse data " + inputMessage, e);

这不是很漂亮。

从SLF4J版本1.6开始,SLF4J将根据您的意愿解释最后一个参数,即作为例外。 您必须使用旧版本的SLF4J API。

它也使用SLF4J版本1.7。 所以你不需要降级到更老的版本。