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

use*_*155 1 java logging logback spring-boot

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

logging:
    file: ${spring.applicaton.name}.log
Run Code Online (Sandbox Code Playgroud)

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

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

And*_*eas 5

默认的Logback配置存储在:

spring-boot-2.1.1.RELEASE.jar
    /org/springframework/boot/logging/logback/base.xml
Run Code Online (Sandbox Code Playgroud)

默认的Log4j2配置存储在:

spring-boot-2.1.1.RELEASE.jar
    /org/springframework/boot/logging/log4j2/log4j2-file.xml
Run Code Online (Sandbox Code Playgroud)

默认的Java Util Logging配置存储在:

spring-boot-2.1.1.RELEASE.jar
    /org/springframework/boot/logging/java/logging-file.properties
Run Code Online (Sandbox Code Playgroud)

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

Spring默认使用Logback。阅读Spring 文档,了解如何指定不同的实现以及如何配置它。