log4j2 for Spring boot With gradle

skyju·2023년 1월 25일
1

Spring

목록 보기
5/7

build.gradle에서

  • Spring boot는 기본적으로 logback logging module을 제공하기 때문에 log4j2와 충돌하여 error발생한다.
  • 그럼 그냥 logback을 사용해도 되지 않나?
    A: log4j2가 더 성능이 좋다.
  • 다음과 같은 코드를 추가하여 로깅 모듈을 제외시켜줘야 한다.
configurations {
	all*.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
	all*.exclude group: 'org.springframework.boot', module: 'logback-classic'
}

충돌을 방지해줬으니 의존을 추가해준다.

// log4j2
implementation 'org.springframework.boot:spring-boot-starter-log4j2'

추가 내용

log File이 directory에 남길 바라면 따로 설정을 해줘야한다.
application.properties가 있는 resources folder 내에서 log4j2를 설정할 xml file를 생성하고
application.properties에게 그 위치에 log4j2의 설정 파일이 있다는 것을 명시해줘야한다.

@Slf4j Annotation

SLF4J(Simple Logging Facade for Java)
java.util.logging, logback 및 log4j와 같은 다양한 로깅 프레임 워크에 대한 추상화(인터페이스) 역할을 하는 라이브러리

사용단계에서

private final Logger logger = LoggerFactory.getLogger(현재Controller.class);

로 Logger를 생성하여 사용한다.

profile
https://github.com/skyju

0개의 댓글