ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Slf4j] Slf4j란?
    Backend/Spring 2022. 9. 19. 21:21

    Slf4j

    Slf4j는 다양한 Logging Framework(logging, logback, log4j)의 추상화를 제공하며 컴파일 시, 하나의 Logging Framework와 바인딩 해준다.


    * 로그 레벨 :
    TRACE > DEBUG > INFO > WARN > ERROR

    장점
    • 다양한 Logging Framework를 라이브러리만 추가해서 바인딩할 수 있다. -> Logging Library 변경 시 로그 엔진을 쉽게 변경할 수 있다.
    • String 연산의 편의성
    log.info("log message : " + name);
    • 다음과 같이 코드를 작성하게 되면 String 연산 후 Logging Level을 확인하여 출력 여부를 확인한다. -> 불필요한 CPU 연산 사용
    log.info("log message : {}", name);
    • Slf4j를 사용하면 다음과 같은 코드를 작성할 수 있어 Logging Level을 확인 후 출력이 필요하면 String 연산이 수행된다.

     

    Log Library 선택
    예전에는 Log4j를 많이 사용하였지만 최근에는 LogBack 라이브러리를 더 많이 사용한다.
    • LogBack의 장점
      • Log4j보다 최대 10배 빠르다.
      • Slf4j API를 바로 구현하여 오버헤드가 없다.
      • LogBack은 상세하고 지속적으로 업데이트 되는 문서가 제공된다.
      • Log Archive의 백업 개수 지정 가능
      • Log4j보다 많이 실행된 테스트
      • Dynamic Reloading 기능 지원

    • LogBack 설정 파일 우선 순위
      • Resources -> Logback.Groovy
      • Resources -> Logback.xml
      • 기본 설정

    'Backend > Spring' 카테고리의 다른 글

    [Spring] checkstyle 적용하기  (0) 2023.05.03
    DDD(Domain Driven Design)란?  (1) 2023.04.03
    [Spring] Rest-Docs 연결  (0) 2023.01.13
    [Spring] 알림 기능에 SSE 적용하기  (0) 2022.11.25
    [Spring] Logback 설정  (0) 2022.11.16

    댓글

Designed by Tistory.