【问题标题】:How to configure LoggingMeterRegistry step duration in Spring Boot 2.x?如何在 Spring Boot 2.x 中配置 LoggingMeterRegistry 步骤持续时间?
【发布时间】:2019-08-26 18:50:44
【问题描述】:

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

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

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

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

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

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

我在这里查看代码 StepDurationConverterTestStepDurationConverter 将步骤持续时间字符串转换为 Duration 对象,看起来60m1h 两种格式都应该工作。

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

【问题讨论】:

  • 这一步应该可行。您是否尝试在 LoggingMeterRegistry 中设置断点以查看它是否正在您的属性中读取?

标签: spring-boot micrometer spring-micrometer


【解决方案1】:

我认为这里的问题是没有 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 以使其工作。或者只是硬编码你想要的步骤周期。

【讨论】:

    猜你喜欢
    • 2019-01-19
    • 2019-04-24
    • 2018-03-16
    • 2023-03-10
    • 2017-05-05
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多