【发布时间】:2019-08-15 22:43:00
【问题描述】:
我正在创建一个 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,但我不确定它们是否正确。他们的命名约定和语法不是我所期望的。您如何选择特定的日志记录实现 - 通过依赖项或配置?
【问题讨论】:
-
如果你阅读配置文件,你会看到这样的注释:相当于Boot执行的编程初始化,这意味着配置是通过Java代码编程完成的,而不是使用配置文件。
-
@JBNizet 这些编程默认值没有记录吗?如果不是,哪个类或哪个包包含相关代码?
-
“你如何选择具体的日志实现?” Configuration
-
@JBNizet 谢谢,这正是我想要的
标签: java spring-boot logging logback