我正在创建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,但不确定它们是否正确。他们的命名约定和语法不是我所期望的。您如何选择特定的日志记录实现方式-通过依赖关系还是通过配置?
答案 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,了解如何指定其他实现以及如何配置它。