가드 조건으로 둘러싸여 있지 않은 로깅 호출을 보고합니다. 호출의 인수를 평가하려면 큰 비용이 들 수 있습니다. 로깅 구문이 사용하는 수준에 대해 로깅이 비활성화된 경우 guard 절을 사용하여 로깅 호출을 둘러싸면 이 비용을 피할 수 있습니다. 이는 가장 덜 심각한 수준(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에서 추가