slf4j
(Simple Logging Facade for Java)역할은 다양한 Logging Framework들의 facade(혹은 추상체) 역할을 함으로써 사용중인 Logging Framework를 변경해도 java 코드에 대한 변경이 필요 없다.
예를 들어 log4j
를 사용하던 프로젝트에서 logback
으로 변경해야할 상황이라면, 기존 프로젝트에 logger 의존성을 log4j
에서 logback
으로 바꿔주게 된다면 log4j
를 import 했던 클래스에 오류가 발생해 모두 변경을 해줘야하지만 slf4j
를 사용하면 의존성만 변경을 해준다면 번거롭게 바꿀 필요 없이 그대로 사용이 가능하다.
ex) slf4j
를 사용 X
import org.apache.log4j.Logger;
import org.apache.log4j.spi.LoggerFactory;
slf4j
를 사용 Oimport org.slf4j.Logger;
import org.slf4j.LoggerFactory;
maven
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
gradle
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'