logger.info("{}: {}", key)
などの SLF4J、Log4j2 および akka.event.LoggingAdapter ロギング呼び出しで、ロガーメッセージに含まれる {}
プレースホルダーの数がロギング呼び出しの他の引数の数と一致していないものを報告します。
SLF4J が使用する実装を指定するには、インスペクションのオプションを使用します。
「自動的に確認する」が選択されている場合は、クラスパス内の org.apache.logging.slf4j.Log4jLogger
が検索されます。
SLFJ4 API ではこのファイルが見つかったか「はい」が選択されている場合、例外の型がある最後のパラメーターにプレースホルダーがある場合は報告されません。
例:
//この場合は「はい」オプションでは報告されません
log.error("For id {}: {}", "1", new RuntimeException());
この場合、'new RuntimeException()' は 'toString()' を使用して出力されます (スタックトレースは出力されません)。
For id 1: java.lang.RuntimeException
それ以外の場合は最後のプレースホルダーは使用されないため、ハイライトされます。
For id 1: {}
java.lang.RuntimeException: null
「いいえ」オプションは org.apache.logging.slf4j.Log4jLogger
がバックエンドとして使用されていてもプレースホルダーが例外に使用されている状況を常にハイライトするために使用できます。