web-dev-qa-db-ja.com

SLF4Jでプレースホルダーを使用して例外とメッセージを記録する方法

SLF4J を使用してエラーメッセージと例外の両方を記録する正しいアプローチは何ですか?

私はこれを試してみましたが、例外スタックトレースは決して印刷されません:

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

この場合、_{}_にinputMessageを設定し、例外スタックトレースをログアウトします。

私がこれを行うことができる唯一の方法は、これを行うことです:

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

それはきれいではありません。

77
pjp

SLF4Jバージョン1.6では、SLF4Jは最後のパラメーターを意図したとおりに、つまり例外として解釈します。古いバージョンのSLF4J APIを使用している必要があります。

119
Ceki