1

我正在尝试配置 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将步骤持续时间字符串转换为 Duration 对象并且看起来像两种格式60m并且1h应该可以工作。

任何想法为什么我似乎无法更改记录间隔?

4

1 回答 1

0

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

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

您需要手动将其配置LoggingMeterRegistry为 bean 并创建您自己的@ConfigurationProperties LoggingPropertiesLoggingPropertiesConfigAdapter使其正常工作。或者只是硬编码你想要的步骤周期。

于 2020-01-28T11:48:45.033 回答