2014-09-22 62 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