Alle an einen Akka TestKit TestProbe gesendeten Nachrichten protokollieren

8

Ich versuche, alle Nachrichten empfangen von einer TestKit TestProbe zu protokollieren, was sich als etwas schwierig erweist. Ich kenne den Abschnitt Aktesprotokollierung in den Dokumenten wo es heißt, man sollte die Option debug.receive in Kombination mit einem LogginReceive -Block verwenden. Dies funktioniert jedoch nicht, wenn ich nicht die Kontrolle über die Implementierung des Schauspielers habe.

Die einzige Idee, die ich hatte, war es, akka.testkit.TestActor zu untergliedern, um LoggingReceive und dann die Unterklasse TestKit zu verwenden, um Instanzen meiner TestActor -Unterklasse zu erstellen, aber das hat nicht funktioniert, weil die meisten Funktionen dort privat sind in den Namensraum akka (und aus gutem Grund, nehme ich an).

    
fresskoma 16.11.2012, 16:43
quelle

3 Antworten

4

Tut mir leid, zuerst habe ich deine Frage falsch beantwortet, also hier ist mein Ansatz.

Erstellen Sie einen Wrapper-Akteur, der die Nachrichten protokolliert:

%Vor%

und dann erstellen Sie einfach Ihre TestActorRef mit Ihrem Schauspieler in der LoggingActor :

gewickelt %Vor%     
drexin 16.11.2012, 18:28
quelle
11

Es gibt eine (wahrscheinlich überraschend) einfache Antwort:

%Vor%     
Roland Kuhn 21.11.2012 15:20
quelle
5

Mit Ronalds Antwort habe ich das geschrieben, um einen einfacheren Weg zu haben, meine Sonden zu definieren:

%Vor%

Damit definiere ich meine Sonden mit LoggingTestProbe() anstelle von TestProbe() .

Ich bin neu bei Scala, also ist das vielleicht nicht optimal, aber funktioniert super für mich.

    
marcob 27.12.2013 19:04
quelle

Tags und Links