Spring Boot 对所有内部日志记录使用 Commons Logging,但使底层日志实现保持打开状态。为 Java Util Logging、Log4j2 和 Logback 提供了缺省配置。在每种情况下,记录器都预先配置为使用控制台输出,并提供可选的文件输出。
默认情况下,如果您使用“starter”,默认使用Logback进行日志记录。还包括适当的 Logback 路由,以确保使用 Java Util Logging、Commons Logging、Log4J 或 SLF4J 的依赖库都能正常工作。
从上面SpringBoot官方对日志的介绍描述可以得到两点重要的信息:
1、Springboot已经内置了Java Util Logging、Log4j2 和 Logback配置,包括依赖库,所以不需要单独做这三个日志框架的依赖包的导入。这点很多开发者不理解,还单独引入了重复的依赖,有的导致了依赖冲突问题。下面可以看到只引入spring-boot-starter-web就已经包含了上述的日志框架。
2、使用了starter,默认就使用到了Logback进行日志记录,这点可以从几个地方可以得到答案,一个就是debug看返回的Logger,如下图所示:
还可以从spring-boot-starter-logging中的描述里找到答案:
项目实际开发过程中,需要将日志输出到指定的目录下做分析,可以使用Springboot约定的几个框架的命名规则来实现相关的配置:
一般使用logback-spring.xml即可,将logback-spring.xml放到我们的resources下,按照logback的模板修改一下自己的目录,日志级别等即可:
最后提醒一下各位,不要再去单独引入依赖了,也不需要追求个性,起一个不一样的配置名,然后去做特殊配置,可以说SpringBoot提供的日志功能简单易用,得心应手。