spring - application.yml 中的 Spring Boot 日志设置
问题描述
我正在构建一个弹簧启动应用程序。我使用 logstash 创建结构化日志,效果很好。但是,我正在尝试将以下内容logback.xml
移至application.yml
.
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
我找不到任何教程或示例可以远程接近在application.yml
.
此外,我注意到以下内容。如果我删除logback.xml
并放入以下内容application.yml
spring:
logging:
level:
ROOT: WARNING
根据这个问题,我至少应该控制我的日志级别。没有骰子,信息被记录在所有地方。
所以,问题:
- 如何正确指定 ROOT 日志级别
application.yml
? - 如何正确指定 logstash 编码器
application.yml
?
解决方案
根级别可以这样配置:
logging:
level:
root: warning
但是无法使用属性或 yaml 配置编码器。请在 Spring Boot 参考文档中找到所有属性: https ://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties
所以没有办法绕过logback xml文件