Slf4j

Table of contents

  1. 개요
  2. Slf4j 튜토리얼
    1. Dependencies

개요

스프링 프레임워크에서 기본 탑재된 로그 추상화 라이브러리 공식사이트

SLF4J(Simple Logging Facade for Java)는 다양한 logging 프레임워크(예: java.util.logging, logback, log4j)에 대한 단순 외관 또는 추상화 역할을 하여 최종 사용자가 배포 시 원하는 logging 프레임워크를 연결할 수 있도록 한다.

log4j, logback 같은 logging 라이브러리를 직접 사용하지 않고 Slf4j으로 한 번 더 감싸서 사용하는 이유는 추상화 라이브러리를 통해 파편화되어 있는 수많은 로그 라이브러리를 일관된 사용법으로 사용할 수 있게 해 주며 동시에 로그 라이브러리의 학습 곡선을 줄여준다. 그리고 코드 변경 없이 구현체 의존성만 변경하면 버전 및 다른 라이브러리로 쉽게 교체할 수 있다.

직접 라이브러리를 사용하는 것보다 유지 보수 및 안전성 면에서 많은 이점을 가져갈 수 있다. 파사드 패턴의 대표적인 라이브러리라고 할 수 있다.

최근에 발생한 Log4j 보안 취약점 사태 와 같이 특정 라이브러리 특정 버전의 문제가 발생했을 때 최신버전으로 업데이트 하거나 다른 라이브러리로 비교적 손쉽게 교체할 수 있다.

Slf4j 튜토리얼

해당 라이브러리는 스프링 부트 사용을 기준으로 설명 한다.

Dependencies

Spring boot에서 기본 탑재 되어 있기에 별도로 의존성을 추가할 필요는 없다. 하지만 Slf4j 를 손쉽게 사용할 수 있는 옵션인 lombok 을 추가하는것을 권장한다.

build.gradle

dependencies {
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

The work and the work are derivative works because they are included in the work. However, derivative works include material and lyrics in the original work. CC BY-SA 4.0

Page last modified: Feb 18 2021.