2016-01-12 8 views
7

アクターが受け取ったすべてのメッセージをAkka.NETログに記録しようとしていますが、これを動作させることはできません。アクタが受信したすべてのメッセージを記録するようにAkka.NETを設定するにはどうすればよいですか?

 akka {     
     stdout-loglevel = DEBUG 
     loglevel = DEBUG 
     log-config-on-start = on 

     actor { 
      debug { 
      receive = on # log any received message 
      autoreceive= on # log automatically received messages, e.g. PoisonPill 
      lifecycle = on # log actor lifecycle changes 
      event-stream = on # log subscription changes for Akka.NET event stream 
      unhandled = on # log unhandled messages sent to actors 
      } 
     } 
     } 

私は設定は何も(私は俳優のシステムの初期化とシャットダウンに関するデバッグメッセージを参照してください)その他の活動のために働くことを見ることができますが:ここでは(私はAkka.NET Bootcampのからプロジェクトを使用しています)私の設定ですアクターに送られた実際のメッセージから。私はC#とF#の両方の例を試しました。

答えて

18

見つからなかったものが見つかりました。デバッグロギングを設定するだけでは不十分です。アクターは(メソッドなしで)マーカーインターフェースを実装する必要があります(メソッドなしの)ILogReceive:

class ConsoleWriterActor : UntypedActor, ILogReceive 
+0

正しいです。私には「奇妙な」デザイン決定のようだ。 – mwardm

関連する問題