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

Where does Spring Boot store its default logging settings

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

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

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

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

默认 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 以了解如何指定不同的实现以及如何配置它。