我正在构建一个 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 编码器?
最佳答案
根级别可以这样配置:
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日志设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56564356/