mir*_*lon 6 logging scala messages akka
我想将所有收到的消息记录到我的Akka应用程序中的所有演员.akka.actor.debug.receive如果actor接收方法是a,则有一个配置将记录发送给actor的所有消息LoggingReceive.
根据http://doc.akka.io/docs/akka/current/additional/faq.html,它表示包装所有接收方法,LoggingReceive如同如何记录来自Akka(Java)的所有传入消息
def receive = {
LoggingReceive {
case x ? // do something
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法隐式地或通过配置?
不是我所知道的,但你应该很容易做到这样的事情:
trait LoggingReceiveActor extends Actor{
def receive = LoggingReceive(loggedReceive)
def loggedReceive:Receive
}
class MyActor extends LoggingReceiveActor{
def loggedReceive = {
case _ =>
}
}
Run Code Online (Sandbox Code Playgroud)
从LoggingReceiveActor现在开始继承的任何actor 必须提供impl loggingReceive,如果你这样做,那么当启用调试日志记录时,这种actor将记录收到的消息.
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |