
해당 포스트는 Spring.io의 공식 문서를 포함한 레퍼런스와 코드를 통해 Spring Framework의 구조 / 기술에 대해 확인해보고자 하는 포스트입니다.
스프링 프레임워크 5.0부터는 스프링에는 spring-jcl 모듈에 구현된 자체 Commons Logging 브리지가 제공됩니다. 해당 구현체는 클래스 경로에 Log4j 2.x API나 SLF4J API가 있는지 체크하고 발견된 첫번째 API를 로깅 구현으로 사용하며 만약 Log4j 2.x와 SLF4J를 모두 사용할 수 없는 경우 JUL(java.util.logging)을 사용합니다.
공식 문서에서는 다만 Commons Logging 변형은 핵심 프레임워크와 확장에서 인프라 로깅 목적으로만 사용되므로 어플리케이션 코드 내에서 로깅이 필요한 경우에는 Log4j 2.x, SLF4J 또는 JUL을 직접 사용하는 것을 권장하고 있습니다.
추가 브리지 없이 Log4j 2.x 또는 Logback(또는 다른 SL4FJ 공급자)를 클래스 경로에 넣고 프레임워크가 자동으로 로그 구현을 선택할 수 있도록 처리할 수 있습니다.
https://docs.spring.io/spring-framework/reference/core/spring-jcl.html