Как просмотреть мертвые буквы akka

Я создал актера, который выполняет некоторые основные операции и, кажется, работает правильно - однако я регулярно вижу в моих журналах следующее:

[INFO] [05/28/2014 14:24:00.673] [application-akka.actor.default-dispatcher-5] [akka://application/deadLetters] Message [akka.actor.Status$Failure] from Actor[akka://application/user/trigger_worker_supervisor#-2119432352] to Actor[akka://application/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

Я хотел бы фактически просмотреть содержимое ошибки, чтобы установить, что именно выбрасывает Failure, однако я не могу понять, как их просматривать.

Чтение через документацию Akka в нем упоминает, как отключить предупреждение о мертвой букве в журналах, но не как написать на самом деле обработчик для их обработки.

Есть ли простой способ на самом деле поймать что-либо, отправленное на мертвые буквы?

Ответ 1

Как уже упоминалось в комментарии от @wingedsubmariner, вы можете подписаться на событие DeadLetter в основной системе EventStream, чтобы получать уведомления о появлении мертвых точек и иметь возможность реагировать на эту ситуацию более обычным образом. Чтобы подписаться, код будет выглядеть так:

context.system.eventStream.subscribe(myListenerActorRef, classOf[DeadLetter])

Затем прием для этого слушателя может выглядеть примерно так:

def receive = {
  case DeadLetter(msg, from, to) =>
    //Do my custom stuff here
}

Структура класса DeadLetter:

case class DeadLetter(message: Any, sender: ActorRef, recipient: ActorRef)