9

ここで、akka のアクターにログ機能を追加するよう求められました。

メッセージが受信されたら、処理する前に、このメッセージをログに書き込む必要があります。メッセージが送信される前に、このメッセージが最初にログに記録されます。

Actorのreceiveand関数をオーバーライドする必要があると思います。を拡張sendする特性を作成するとします。そしてクラスは拡張します。しかし、では、関数をオーバーライドする必要があります(ここで問題が発生するようです)。だからどうしようか迷ってます。actorlogActormyActoractorlogmyActorreceive

PS。akka がロギングを提供することは知っています。しかし今、私は自分でこの機能を実装する必要があります。

4

3 に答える 3

25

Akka で受信したメッセージのログを取得するユーティリティがあります。logging documentationに簡単に記載されています。基本的に、次のように受信関数をラップします。

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

次に、構成で次のように有効にします。

akka.actor.debug.receive=on

情報はデバッグ レベルで記録されます。

于 2013-11-07T08:54:23.293 に答える