Tiny Star

오류

[SpringBoot] No appenders present in context [default] for logger [org.jboss.logging].

하얀지 2025. 7. 4. 20:50

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 관련 설정 추가했는지 확인

top