【问题标题】:Changing log level using properties from Spring Cloud config server使用 Spring Cloud 配置服务器中的属性更改日志级别
【发布时间】:2020-05-27 22:13:23
【问题描述】:

我想使用 /refresh 端点更改日志级别。 我知道执行器公开了一个不同的端点来处理日志级别,但我想从配置服务器的属性中做到这一点。

如果我将 logging.level.com.foo.bar=ERROR 放在我的本地属性文件中,Spring 能够配置这些值,但是如果我尝试从配置服务器覆盖 logging.level.com.foo.bar 的值它没有被选中,如果我不提供本地属性并且只通过配置服务器提供它,它会失败并进入调试。

我认为这与 logback-spring.xml 上不存在 @RefreshScope 有点相关。

如何使 logback-spring.xml 符合 /refresh 的条件

这就是我的 logback-spring.xml 目前的样子。

<configuration scan="true" scanPeriod="15 seconds">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

 <springProperty scope="context" name="logLevel" source="logging.level"/>
    <logger name="com.foo.bar.springclient.spring.boot.management.logging" level="INFO" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
<configuration scan="true" scanPeriod="15 seconds">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

 <springProperty scope="context" name="logLevel" source="logging.level"/>
    <logger name="com.foo.bar.springclient.spring.boot.management.logging" level="INFO" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

【问题讨论】:

    标签: spring spring-boot logback spring-boot-actuator spring-logback


    【解决方案1】:

    在这种情况下,我认为 refreshScope 不会对您有所帮助。

    1. 您可以尝试以下方法来实现您的案例。
    2. 在配置中打开执行器的logger 端点。

    management.endpoints.web.exposure.include="logger"

    1. 请按照以下代码更改

    在任何@refreshScope 组件内添加以下代码

    @EventListener(final RefreshScopeRefreshedEvent event){
         // code to do POST call for changing desired logger level
    }
    

    上述方法将在每次刷新调用后触发,因此这可能有助于您实现目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 2018-05-15
      • 2015-01-03
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多