Spring Boot在哪里存储其默认日志记录设置

时间:2019-03-25 16:12:16

标签: java spring-boot logging logback

我正在创建Java Spring Boot 2.X应用程序。在我的配置(application.yml)中,添加了以下属性:

logging:
    file: ${spring.applicaton.name}.log

这似乎是开箱即用的。但是,我很好奇底层默认日志配置所在的位置。使用谷歌,我发现Spring Boot使用logback,但是我看不到logback-spring.xml文件。 this other question似乎也提到了log4j2而不是logback-起作用了,因为它们添加了对log4j2的依赖关系(除了sprint引导启动器之外,我没有添加任何依赖关系)。我还观察到的是,两个主要的日志记录机制似乎是滚动文件附加程序和控制台记录器。在哪里定义?

我的问题是:Spring Boot在哪里获取其默认日志配置?我找到了these configuration files,但不确定它们是否正确。他们的命名约定和语法不是我所期望的。您如何选择特定的日志记录实现方式-通过依赖关系还是通过配置?

1 个答案:

答案 0 :(得分:2)

默认Logback配置存储在:

spring-boot-2.1.1.RELEASE.jar
    /org/springframework/boot/logging/logback/base.xml

默认Log4j2配置存储在:

spring-boot-2.1.1.RELEASE.jar
    /org/springframework/boot/logging/log4j2/log4j2-file.xml

默认Java Util Logging配置存储在:

spring-boot-2.1.1.RELEASE.jar
    /org/springframework/boot/logging/java/logging-file.properties

注意:当然,jar文件的版本会有所不同。

Spring默认为Logback。阅读Spring documentation,了解如何指定其他实现以及如何配置它。