【问题标题】:Spring Framework application.properties vs logback.xmlSpring 框架 application.properties 与 logback.xml
【发布时间】:2017-06-03 18:01:43
【问题描述】:

我正在使用 Spring 和 Spring Boot。最近在尝试 EhCache 时,我尝试为 EhCache 启用日志记录。在 application.properties 中设置日志级别:

logging.level.org.springframework.cache: DEBUG

没有效果。所以我遇到了一种使用'logback'启用日志记录的方法。现在我需要将日志配置放入文件 logback.xml。

我的问题是如何在 Spring 中处理配置? logback.xml 是否优先于 application.properties? 有没有只使用一种配置的方法? application.properties 还是 logback.xml? 有两种配置有什么意义?

编辑: 后来我发现,要启用 EhCache 日志记录,我需要在我的 application.properties 中添加这一行:

logging.level.net.sf.ehcache: DEBUG

【问题讨论】:

  • 日志属性由 Spring Boot 提供:docs.spring.io/spring-boot/docs/current/reference/html/… 因此,如果您有 logback.xml(如果您使用其他日志记录后端,则为本地配置),它将优先。而且,如果你有 logback.xml,你不需要在 application.properites 中有logging.level.net.sf.ehcache: DEBUG。只需在 logback.xml 中定义记录器

标签: java spring spring-boot logback


【解决方案1】:

是的。您可以只使用一个配置 logback.xml 来完成日志记录部分 并且使用 <springProperty> 标签,您可以在 Logback 文件中使用 Spring Environment 属性。

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
        defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
    <remoteHost>${fluentHost}</remoteHost>
    ...
</appender>

Ref

【讨论】:

    【解决方案2】:

    Logback 将在类路径中查找文件 logback_test.xml,如果找不到第一个,则查找 logback.xml。

    假设您使用的是 maven,您的属性文件中不需要任何内容​​。通常是 src/main/resources 中的 logback.xml 和 src/test/resources 中的 logback_test.xml。

    你需要一个 logback 和一个 api 的实现,通常在你的 pom 中你需要这个:

    <!-- API -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.22</version>
    </dependency>
    <!-- Implementation -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.8</version>
    </dependency>
    

    Ehcache 将使用 slf4j,因此您的 logback 配置将被拾取。

    有关 logback 配置,请参阅 http://logback.qos.ch/manual/configuration.html

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 2016-01-01
      • 2018-08-17
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      相关资源
      最近更新 更多