我正在尝试配置LoggingMeterRegistry来记录我的Sping Boot 2.1.6应用程序的指标。我希望每小时记录一次指标。
在我的应用程序.yml中,我配置了以下内容
management:
metrics:
export:
logging:
enabled: true
step: 60m
但是在日志中,我看到每分钟都在记录指标。我也尝试了属性键的其他变体,例如。
management.metrics.export.logging:
enabled: true
step: 60m
我还尝试了各种格式的持续时间字符串eidogg. 1h
,PT60M
,但没有成功。指标以1分钟的间隔记录。
我看了这里的代码StepDurationConverterTest和这里的StepDurationConverter,它们将步骤持续时间字符串转换为持续时间对象,看起来60m
和1h
都应该工作。
你知道为什么我不能改变测井间隔吗?
3条答案
按热度按时间qzlgjiam1#
我认为这里的问题是没有像其他
MeterRegistry
(如org.springframework.boot.actuate.autoconfigure.metrics.export.jmx
)那样的org.springframework.boot.actuate.autoconfigure.metrics.export.logging
包。即在Sping Boot 中没有自动配置属性。这可能是因为
LoggingMeterRegistry
被标记为@Incubating
您需要手动将
LoggingMeterRegistry
配置为bean,并创建自己的@ConfigurationProperties
、LoggingProperties
和LoggingPropertiesConfigAdapter
,或者只是硬编码您想要的步长周期。jtw3ybtb2#
要以微米为单位配置步数持续时间:请按照以下步骤操作:
qrjkbowd3#
下面的
@Bean
提供了来自SpringEnvironment
的config,允许您指定一个属性logging.step: 1h
来获得所需的周期。