가드 조건으로 둘러싸여 있지 않은 비상수 인수를 사용하는 로깅 호출을 보고합니다. 로깅 호출의 인수 평가는 비용이 많이 들 수 있습니다. 로깅 구문이 사용하는 수준에 대해 로깅이 비활성화된 경우 guard 절을 사용하여 로깅 호출을 둘러싸면 이 비용을 피할 수 있습니다. 이는 가장 덜 심각한 수준(trace, debug, finest)의 로깅 호출에 특히 유용합니다. 이러한 호출은 프로덕션 환경에서 매우 자주 비활성화되기 때문입니다.

예:


  public class Principal {
    void bad(Object object) {
      if (true) {
        LOG.debug("log log log " + expensiveCalculation(object));
      }
      LOG.debug("some more logging " + expensiveCalculation(1));
    }

    void good(Object) {
      if (LOG.isDebug()) {
        LOG.debug("value: " + expensiveCalculation(object));
      }
    }
  }

검사 구성: