SLF4J 에러

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.25.0</version>
</dependency>
...
이렇게 log4j 의존성을 추가하고 최종적으로 `No appenders present in context [default] for logger [org.jboss.logging].` 로그를 마주했다.
SLF4J(W): Class path contains multiple SLF4J providers.
SLF4J(W): Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@4034c28c]
SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@e50a6f6]
SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J(I): Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@4034c28c]
20:07:12,813 |-WARN in ch.qos.logback.core.model.processor.ImplicitModelHandler - Ignoring unknown property [Appenders] in [ch.qos.logback.classic.LoggerContext]
20:07:12,815 |-WARN in ch.qos.logback.core.model.processor.ImplicitModelHandler - Ignoring unknown property [Loggers] in [ch.qos.logback.classic.LoggerContext]
20:07:12,853 |-WARN in Logger[org.jboss.logging] - No appenders present in context [default] for logger [org.jboss.logging].
전체 로그는 이건데, 상단에 보면 SLF4J가 최종적으로 Logback을 선택했다는 걸 알 수 있다.
| 로그 | 의미 |
| multiple SLF4J providers | SLF4J 바인딩(JAR)이 여러 개 존재 |
| Found provider [logback...] | Logback이 classpath에 있음 |
| Found provider [log4j2...] | Log4j2도 classpath에 있음 |
| Actual provider is [logback] | SLF4J가 logback을 최종 선택함 |
spring-boot-starter-web 안에 logback이 내장되어 있기 때문에 충돌이 발생한다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.5.0</version>
// 추가
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
spring-boot-start-web 에서 logging 을 제외해준다.

빌드 후 실행시키면 로그를 볼 수 있다.
혹시 기본 로그가 나오지 않는다면 <Loggers></Loggers>에 springframework 관련 설정 추가했는지 확인
'오류' 카테고리의 다른 글
| [SpringBoot] Entity 객체 반환 오류 (SerializationFeature.FAIL_ON_EMPTY_BEANS) (2) | 2025.07.08 |
|---|---|
| [SpringBoot] response.getCharacterEncoding() 문자(한글) 깨짐 (0) | 2025.07.05 |