SLF4J(Simple Logging Facade for Java)
SLF4J는 인터페이스고, 그 구현체로 Logback같은 로그 라이브러리를 선택하면 된다.
실무에서는 스프링 부트가 기본으로 제공하는 Logback을 대부분 사용한다.
주요 특징
- 컴파일 타임이 아닌 런타임에 구현체가 결정됨
- 클래스패스에 있는 구현체를 자동으로 찾아서 바인딩
- 여러 구현체가 있을 경우 정해진 우선순위에 따라 선택
- 구현체 교체가 용이함 (의존성 변경만으로 가능)
- OCP, DIP가 잘 적용되었다고 생각하는 예시
동작과정
- 로그를 작성하면 SLF4J API를 통해 로그를 요청하게 된다.
- 클래스패스에 사용가능한 로깅 구현체(바인딩)를 확인
- 선택된 로깅구현체를 통하여 출력 (기본적으로 Logback 사용)
'TIL' 카테고리의 다른 글
HahsMap, HashTable, ConcurrentHashMap (3) | 2023.12.17 |
---|---|
Redis 란? (3) | 2023.08.19 |