Spring Boot의 Log4J2 핵에 대한 피드백

지난 주에 Maven 종속성 해결 시스템을 해킹하는 방법을 설명하는 글a post을 썼습니다. 나는 그것이 더러운 해킹이었다는 것을 인정합니다. 심지어 게시물 이름에도 있습니다.

하지만 내가 틀렸다. 지적해 주신 Stéphane Nicoll에게 감사드립니다.






스테판 니콜









"모든 Spring Boot 스타터에서 spring-boot-starter-logging을 제외하는 것으로 귀결됩니다. 그것은 실제로 잘못된 것이며 설명서에 나와 있는 내용이 아닙니다. 예를 들면 다음과 같습니다. github.com/snicoll-scratc…


오전 08:06 - 2020년 12월 14일









설명서를 링크했지만 잘못 읽었습니다. 여기 내 mea culpa가 있습니다.

Stéphane이 말했듯이 상위spring-boot-starter 스타터에서 기본 종속성을 제외할 수 있습니다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

mvn dependency:tree 출력을 확인해 보겠습니다.

[INFO] com.example:demo:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter:jar:2.4.1:compile          // 2
[INFO] |  +- org.springframework.boot:spring-boot:jar:2.4.1:compile
[INFO] |  |  \- org.springframework:spring-context:jar:5.3.2:compile
[INFO] |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.4.1:compile
[INFO] |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] |  +- org.springframework:spring-core:jar:5.3.2:compile
[INFO] |  |  \- org.springframework:spring-jcl:jar:5.3.2:compile
[INFO] |  \- org.yaml:snakeyaml:jar:1.27:compile
[INFO] +- org.springframework.boot:spring-boot-starter-log4j2:jar:2.4.1:compile   // 1
[INFO] |  +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.13.3:compile
[INFO] |  |  +- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] |  |  \- org.apache.logging.log4j:log4j-api:jar:2.13.3:compile
[INFO] |  +- org.apache.logging.log4j:log4j-core:jar:2.13.3:compile
[INFO] |  +- org.apache.logging.log4j:log4j-jul:jar:2.13.3:compile
[INFO] |  \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.4.1:compile // 2
[INFO] |  +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.4.1:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-actuator:jar:2.4.1:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.3:compile
[INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.3:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.11.3:compile
[INFO] |  |  \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.3:compile
[INFO] |  \- io.micrometer:micrometer-core:jar:1.6.2:compile
[INFO] |     +- org.hdrhistogram:HdrHistogram:jar:2.1.12:compile
[INFO] |     \- org.latencyutils:LatencyUtils:jar:2.0.3:runtime


  • Log4J2 스타터가 예상대로 존재합니다
  • .
  • 어떤 스타터도 SLF4J 종속성을 가져오지 않습니다
  • .

    그 특정 요점 외에도 관련 없는 몇 가지 교훈이 있습니다.
  • 설명서를 확인하십시오
  • .
  • 설명서를 한 번 더 확인하십시오
  • .
  • 귀하를 바로잡는 데 기꺼이 도움을 줄 사람들에게 둘러싸이십시오
  • .
  • 틀렸을 때 인정
  • 가장 중요한 것은 게시하기 전에 피드백을 요청하는 것이 게시물을 수정한 후 게시하는 것보다 자존심에 덜 해롭다는 것입니다.

  • 더 나아가려면:
  • Configure Log4j for Logging

  • 2020년 12월 20일 A Java Geek에서 원래 게시됨

    좋은 웹페이지 즐겨찾기