首先呢springboot 使用的是 logback做为默认的日志记录方式,但是如果我想用log4j记录日志怎么办呢
第一步:将logback依赖排除,因为springboot-starter-web 会自动依赖logback 包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.1.RELEASE</version>
<!-- 排除默认的logback日志,使用log4j-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--swagger -->
<dependency>
第二步:增加og4j-core依赖,否则springboot各种启动日志不会打印
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.10.0</version>
</dependency>
不加的话会出现如下错:ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
case1 :最后能够打印出springboot和我们手动记录以及mybatis的sql语句,在这个地方估计你会觉得很奇怪,我没看见我引入了log4j的依赖啊,为什么最后还是可以打印呢?
针对这个问题,你可一看看你项目中是否有其他jar引入过log4j的依赖
case2: 最后没打印出来,那么你就手动加入log4j的依赖
本文介绍了在 Spring Boot 中从默认的 Logback 日志记录方式切换到 Log4j 的方法。首先要排除 Logback 依赖,再增加 Log4j-core 依赖,否则会启动报错。还针对日志能否打印的两种情况给出解决方案,若未打印可手动加入 Log4j 依赖。

6424

被折叠的 条评论
为什么被折叠?



