spring boot使用Commons Logging作为内部的日志系统,并且给Java Util Logging,Log4J2以及Logback都提供了默认的配置。如果使用了spring boot的Starters,那么默认会使用Logback用于记录日志,这是Maven引用。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
在Maven导包完成后我发现已经生成了log4j的相关需要的jar包
其中log4j是日志包
slf4j是系统适配包
中间的api基本上就是系统适配和日志包直接的调用(我的理解)
完成后在SpringBoot的application.yml中配置logging的框架设置:
配置完成之后在程序中直接调用就OK啦!
private static Log log = LogFactory.getLog(UserController.class);
这是生成的日志文件:
前面说道,我们默认的是使用Logback来作为日志系统的,那么,如果我们想使用Log4j来打日志,怎么办了,我们需要在pom文件中加上Log4j的starter同时排除Logback,如下: