今天把一個Spring Boot的日誌框架由默認的logback升級爲log4j2, 過程以下:html
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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>
複製代碼
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/kayz/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kayz/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.7/log4j-slf4j-impl-2.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
複製代碼
明明我已經排除了這麼仍是綁定上了logback?? 說明仍是有其餘包引了logback.. 使用 mvn dependency:tree 分析一下:web
[INFO] +- org.springframework.boot:spring-boot-starter-aop:jar:1.5.15.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.5.15.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.5.15.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.1.11:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.1.11:compile
[INFO] | | | \- org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.17:runtime
[INFO] | +- org.springframework:spring-aop:jar:4.3.18.RELEASE:compile
[INFO] | | \- org.springframework:spring-beans:jar:4.3.18.RELEASE:compile
[INFO] | \- org.aspectj:aspectjweaver:jar:1.8.13:compile
[INFO] +- org.springframework.boot:spring-boot-starter-cache:jar:1.5.15.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:4.3.18.RELEASE:compile
[INFO] | | \- org.springframework:spring-expression:jar:4.3.18.RELEASE:compile
[INFO] | \- org.springframework:spring-context-support:jar:4.3.18.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.5.15.RELEASE:compile
複製代碼
發現aop這個包搗的鬼, 接着排除spring
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
複製代碼
問題解決express