【问题标题】:Scala-Akka: Log all messages passing by a routerScala-Akka:记录通过路由器传递的所有消息
【发布时间】:2014-11-16 05:18:41
【问题描述】:

我有一个实现了自定义路由逻辑的 Group Actor。我想设置日志记录,以便我确切知道哪些消息通过路由器传输(并且可能检查它们的发送位置,但这将是一个加号)。

我知道如何自动记录参与者收到的所有消息(在配置文件中启用调试接收),但这不会打印出路由器收到的消息(至少对我来说,我可能配置错误)。这是我的配置文件(仅相关部分)

loglevel = DEBUG
log-dead-letters = on
debug {
   receive = on
   autoreceive = on
    unhandled = on
    router-misconfiguration = on
}

有谁知道如何记录路由器收到的所有消息?并且,如果可能,还要检查路由逻辑的select方法是否选择了“正确”的方法(我在方法中尝试了println但没有收到输出)?

【问题讨论】:

    标签: scala logging routing akka custom-routes


    【解决方案1】:

    要启用消息记录,请修改您的接收方式:

    def receive = LoggingReceive {
                    // your normal receive here
                  }
    

    source

    对于路由参与者,可以在 RouterConfig routingLogicController() 中提供实现 RouterLogic 的参与者

    /**

    "可以定义一个actor来控制路由 来自外部刺激的逻辑(例如监控指标)。”

    我假设已经有一些工具(例如 Kamon)可以通过仪器为您完成监控部分

    【讨论】:

    • 在演员中是的。但我想在路由器中执行此操作,并且路由器没有接收方法,因为它们不是(必然)参与者
    猜你喜欢
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多