如何追踪Akka Messaging

时间:2017-09-08 04:36:39

标签: akka akka-cluster

我正在使用具有Master-Worker Pattern的Akka集群将作业分发到工作节点。 Kafka和JMS消息传递具有用于浏览队列或主题中的消息的API。我是否知道在所有发件人和收件人中跟踪Akka系统中的邮件的最佳做法是什么,以便我可以有效地解决问题?有没有建立在Akka上的框架呢?

1 个答案:

答案 0 :(得分:0)

您可以为所有收到的消息和actor生命周期状态更改启用actor级别日志记录:

akka {
  loglevel = "DEBUG"
  stdout-loglevel = "DEBUG"
  loggers = ["akka.event.Logging$DefaultLogger"]

  // log-config-on-start = on
  log-dead-letters = 10
  log-dead-letters-during-shutdown = on

  actor {
    debug {
      receive = on
      autoreceive = on
      lifecycle = on
      unhandled = on
    }
  }
}

为了使它工作,所有的actor都需要扩展ActorLogging特性,并且actor中的receive()方法需要稍微调整一下:

def receive: Receive = LoggingReceive {
  // message handlers go here 
}