SLF4J および Log4j 2 ロギングメソッドの引数として使用されている文字列テンプレートを報告します。 メソッド org.apache.logging.log4j.Logger.log() とそのオーバーロードは「すべてのログレベル」オプションでのみサポートされています。 文字列テンプレートは、ロギングメッセージがログに記録されない場合でも実行時に評価されます。そのため、パフォーマンスに否定的な影響を及ぼす可能性があります。 代わりに、ロギングが無効な場合には評価されないパラメーター化されたログメッセージを使用することをお勧めします。

例 (Kotlin の場合):


      val variable1 = getVariable()
      logger.info("variable1: $variable1")

クイックフィックス適用後 (Kotlin の場合):


      val variable1 = getVariable()
      logger.info("variable1: {}", variable1)

提案される置換は、元のコードと同等ではない場合があることに注意してください。たとえば、文字列テンプレートにメソッド呼び出しまたは引数式が含まれている場合が挙げられます。

2023.1 の新機能です