SLF4JLog4j 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의 새로운 기능