如何在Spring Boot 2.x中配置LoggingMeterRegistry步骤持续时间?

时间:2019-08-26 18:50:44

标签: spring-boot micrometer spring-micrometer

我正在尝试配置LoggingMeterRegistry以记录我的Spring Boot 2.1.6应用程序的指标。我希望指标每小时记录一次。

在我的application.yml中,我配置了以下内容

management:
  metrics:
    export:
      logging:
        enabled: true
        step: 60m

但是在日志中,我看到每分钟都会记录一次指标。我也尝试了属性键的其他变体,例如

management.metrics.export.logging:
  enabled: true
  step: 60m

我还尝试了各种格式的持续时间字符串,例如1hPT60M,但没有成功。指标每隔1分钟记录一次。

我在这里StepDurationConverterTest和这里StepDurationConverter处查看将步长持续时间String转换为Duration对象的代码,看起来60m1h两种格式都可以

为什么我似乎无法更改日志记录间隔?

1 个答案:

答案 0 :(得分:0)

我认为这里的问题是没有 org.springframework.boot.actuate.autoconfigure.metrics.export.logging 像其他MeterRegistry(例如org.springframework.boot.actuate.autoconfigure.metrics.export.jmx)那样的软件包。

即,Spring Boot中的属性没有自动配置。这可能是因为LoggingMeterRegistry被标记为@Incubating

您需要将LoggingMeterRegistry手动配置为bean,并创建自己的@ConfigurationProperties LoggingPropertiesLoggingPropertiesConfigAdapter才能使它工作。或者只是硬编码所需的步骤。