2014-09-22 68 views
1

我有一个组角色,实现了自定义路由逻辑。我想设置日志记录,以便我确切地知道哪些消息通过路由器传输(并且可能会检查它们发送的位置,但这会是一个优点)。Scala-Akka:记录通过路由器传递的所有消息

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

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

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

回答

1

要启用消息记录修改您收到这样的:

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

source

对于路由演员可以在RouterConfigroutingLogicController()

/**

提供实现RouterLogic演员“

”可能性def用于控制来自外部刺激(例如,外部刺激)的逻辑路由 的演员。监测指标)。”

我认为已经有一些工具(如嘉门),在那里,会为你做的监测部分,通过仪表

+0

在一个演员是肯定的。但我想这样做在路由器中,路由器没有接收方法,因为它们不是(必然)是演员 – 2014-09-23 10:31:49