【问题标题】:Dropwizard metrics slf4j reporter configurationDropwizard 指标 slf4j 报告器配置
【发布时间】:2019-01-21 17:11:25
【问题描述】:

我已经为 dropwizard (codehale) 指标注册表配置了一个基本的 sl4j 报告器。这是记者配置:

Slf4jReporter.forRegistry(metricRegistry)
                .outputTo(slf4jLogger)
                .convertRatesTo(TimeUnit.SECONDS)
                .convertDurationsTo(TimeUnit.MILLISECONDS)
                .build();
        reporter.start(30, TimeUnit.SECONDS);

我收到的日志不是我所期望的(预期是计时器的可解析输出,使用 metricRegistry 注册的计数器)。这是我实际每 30 秒看到的内容(与记者配置相匹配):

.... java:55) org.slf4j.helpers.FormattingTuple@39fda09e

无论如何,是否可以在日志中获得对 codehale 指标(计时器、计数器等)的有用表示?

【问题讨论】:

    标签: slf4j dropwizard


    【解决方案1】:

    我的回答与提出的问题无关。 请参阅下面的 cmets。

    Dropwizard 集成了报告指标数据的功能。他们被称为reporters。您需要添加其他配置指令。 SLF4J reporter 的示例:

    metrics:
      reporters:
        - type: log
          logger: metrics
          markerName: <marker name>
    

    在此处查看手册:https://www.dropwizard.io/1.3.8/docs/manual/configuration.html#metrics

    【讨论】:

    • 如果我的问题令人困惑,我深表歉意 - 澄清一下:我将 java codehale 指标用作我的 Java 应用程序的库。我正在按照文档 (metrics.dropwizard.io/4.0.0/manual/…) 配置 sl4j 报告器,但输出是数据结构名称,而不是统计信息的有用表示。 “org.slf4j.helpers.FormattingTuple@39fda09e”。
    • 好的,现在我明白了。我已将dropwizard-metrics 4.0.5 添加到一个简单的项目中。然后我添加了手册中的简单步骤(创建 MetricsRegistry,创建 Meter 实例,在方法中标记 Meter,调用方法,等待报告器的输出)。一切正常。我的建议是使用 Metrics 库创建一个干净且非常简单的项目。然后看看问题是否仍然存在。如果没有问题,那么您的项目中就会发生一些奇怪的事情。您将必须检查依赖项冲突、库版本等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多