ガード条件で囲まれていないロギング呼び出しを報告します。 呼び出しの引数の評価には、コストがかかる可能性があります。 ロギング呼び出しをガード節で囲むと、ロギングステートメントで使用されているレベルでロギングが無効になっている場合のコストを抑えることができます。 これは、プロダクション環境では往々にして無効になっている最も深刻度の低いロギング呼び出しのレベル (trace, debug, finest) で特に役立ちます。

例:


  public class TestObject {
    void test(Object object) {
      LOG.debug("some logging " + expensiveCalculation(1));
    }
  }

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


  public class TestObject {
    void test(Object object) {
      if(LOG.isDebugEnabled()){
        LOG.debug("some logging " + expensiveCalculation(1));
      }
    }
  }

このインスペクションは Log4j2SLF4J ロギングフレームワークをサポートします (ビルダーを除く)。

2024.2 の新機能です