Apache Tomcat org.apache.logging.log4j.loggingexception: log4j-slf4j-impl cannot be present with log4j-to-slf4j 에러 해결방법
Log4J란?
자바 기반 로깅 유틸리티, 디버그용 도구로 주로 사용된다.
개발자가 로그문의 출력을 다양한 대상으로 할 수 있도록 도와주는 도구이다.
아래와 같이 사용한다.
Logger log = Logger.getLogger(MemberController.class);
log.info("인증 완료");
org.apache.logging.log4j.loggingexception: log4j-slf4j-impl cannot be present with log4j-to-slf4
log4j-slf4j-impl 은 log4j-to-slf4 와 함께 존재할 수 없습니다.
말 그대로 log4j-slf4j-impl와 log4j-to-slf4의 의존성을 함께 추가했을 때 발생하는 에러이다.
아래 방법을 따르자.
Maven
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.17.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
메이븐 설정 후 프로젝트 우클릭 > 메이븐 업데이트 > 프로젝트 클린
했는데도 안 된다면..?
다른 프로젝트에서 Log4J 가 사용되고있을 가능성이 높다.
난 실제로 사용하는 프로젝트가 있었다..
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.7.8</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
참고 블로그

Java – Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j – iTecNo
In my Spring boot 2 project: In build.gradle: dependencies { implementation 'com.google.code.gson:gson:2.7' implementation 'com.h2database:h2' implementation 'javax.servlet:jstl:1.2' implementation 'org.springframework.boot:spring-boot-devtools' implementa
itecnote.com
최후의 수단
그냥 둘 다 사용하지 말고 의존성 아예 다 빼버리자...