반응형
spring boot 로 개발을 하다보면
디펜던시에 띢 띢 log4j, logback 을 추가해서
사용하기만 했지,, 얘네가 어떤 애들인지 몰랐어서 알아보기로 함
# 로깅 퍼사드
JCL 은 Apache Commons Logging 이고 이를 줄여서 JCL 이라고 부른다
(Jakarta Commons Logging)
spring 에서는 기본적으로 위 JCL 을 사용하는데,
JCL 은 인터페이스 형태로 있어서, 이를 구현체와 함께 사용해야 한다.
SLF4J 는 Simple Logging Facade for Java 의 약자이다.
JCL 과 SLF4J 는 로깅 퍼사드이다.
퍼사드 패턴 (Facade Pattern)은
건물의 정면"을 의미하는 단어로
어떤 소프트웨어의 다른 커다란 코드 부분에 대하여 간략화된 인터페이스를 제공해주는 디자인 패턴
오오..
JCL 과 SLF4J 양쪽 모두 개발을 하면서 자연스럽게 접해보게 되었는지,
둘다 코드에서 본적이 있었다
// JCL
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
// SLF4J
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
기본이 JCL 이라면 SLF4J는 어떤 다른점 및 이점이 있어서 끼어든걸까?
# log4j, logback
디펜던시에 추가해서 사용하던 Log4j, Logback 은 로깅 기능을 실제로 구현한 프레임워크 이며,
이들이 JCL 이나 slf4j 와 함께 사용할 구현체들이다.
그래서 아래와 같이 로깅을 위한 인터페이스 + 구현체들을 조합해서 사용 가능하다
- JCL + log4j
- JCL + logback
- slf4j + log4j
- slf4j + logback
그리고 아래 링크와 같이,
JCL -> slf4j -> logback 이런식으로도 가능하다는데, 사용해보지 않았다
https://dololak.tistory.com/635
반응형
'Backend' 카테고리의 다른 글
Read-Only 함수에 @Transactional 을 붙여야 하는가? (1) | 2022.09.13 |
---|---|
nginx 버전이 노출되어 있으면 위험할 수 있다구? (0) | 2021.12.27 |
spring boot 에서 etag 설정하기 (0) | 2021.11.29 |
docker quick start 따라해보기 (0) | 2020.06.07 |
왜 도커를 사용해야 할까요? (0) | 2020.06.07 |