application.yml 中的 Spring Boot 日志设置
Posted
技术标签:
【中文标题】application.yml 中的 Spring Boot 日志设置【英文标题】:Spring boot log settings in application.yml 【发布时间】:2019-10-27 02:17:03 【问题描述】:我正在构建一个 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
根据this 的问题,我至少应该可以控制我的日志级别。没有骰子,信息被记录在所有地方。
所以,问题:
如何在application.yml
中正确指定ROOT日志级别?
如何在application.yml
中正确指定logstash 编码器?
【问题讨论】:
【参考方案1】:根级别可以这样配置:
logging:
level:
root: warning
但编码器无法使用属性或 yaml 进行配置。请在 Spring Boot 参考文档中找到所有属性: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties
所以没有办法绕过 logback xml 文件
【讨论】:
感谢您提供的链接,我会仔细阅读。我仍然收到信息消息。这怎么可能?以上是关于application.yml 中的 Spring Boot 日志设置的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot中的配置文件(application.propertiesapplication.yml与pom.xml)
如何将 application.yml 中的地图注入 Spring Boot 中的字段?
Spring Boot App 无法识别 application.yml 文件中的环境变量
无法从 Java Spring Boot 项目中的 application.yml 文件中读取用户定义类的列表