SLF4J および Log4j 2 ロギングメソッドの引数として使用されている非定数の文字列連結を報告します。 非定数の連結は、ロギングメッセージがログに記録されない場合でも実行時に評価されます。そのため、パフォーマンスに否定的な影響を及ぼす可能性があります。 代わりに、ロギングが無効な場合には評価されないパラメーター化されたログメッセージを使用することをお勧めします。

例:


  public class Vital {
    private static final Logger LOG = LoggerFactory.getLogger(Vital.class);

    public void saveTheWorld(int i, String s, boolean b) {
      LOG.info("saveTheWorld(" + i + ", " + s + ", "  + b + ")");
      // todo
    }
  }

クイックフィックス適用後:


  public class Vital {
    private static final Logger LOG = LoggerFactory.getLogger(Vital.class);

    public void saveTheWorld(int i, String s, boolean b) {
      LOG.info("saveTheWorld({}, {}, {})", i, s, b);
      // todo
    }
  }

インスペクションの構成: