application.yml中的spring boot日志设置

标签 spring spring-boot yaml logback spring-logback

我正在构建一个 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/

相关文章:

java - 具有重复属性的 Spring Boot 多个数据源

Windows 环境下的 Spring Security 单点登录

java - 在 IDEA 中设置 Web 应用程序时,有人可以帮助我使用 Facets/Modules 和 Artifacts

Pythonic 方式获取在 yaml 中定义或未定义的值

java - @ConditionalOnProperty 可以使用嵌套属性值吗?

java - AJAX w/Java 的当前核心技术?

java - 向每个方法引入新变量的通用方法

java - 如何使用 jenkins 将 spring boot jar 文件部署到 EC2?

java - Spring @ConditionalOnBean 结合@Component

c - 用于嵌入式系统的简约人类可读序列化格式解析器