首先呢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的依赖