記錄

2016-08-08 38 views
1

我一直在試圖登錄我scalaTest內事到:記錄

class ChangeSetActorTest extends PersistenceSpec(ActorSystem("Persistent-test-System")) with 

PersistenceCleanup {

val log = Logging(system, this) 

基本上讓我們只說ChansetActorTest從TestKit繼承(系統)

不幸的是

Logging(system, this)

不適用於此

我收到以下錯誤:

[error] /Users/maatary/Dev/IdeaProjects/PoolpartyConnector/src/test/scala/org/iadb/poolpartyconnector/changepropagation/ChangeSetActorTest.scala:22: Cannot find LogSource for org.iadb.poolpartyconnector.changepropagation.ChangeSetActorTest please see ScalaDoc for LogSource for how to obtain or construct one. [error] val log = Logging(system, this)

我在阿卡日誌文件beleive這是以下各點: 和在所有其他情況下發生編譯錯誤,除非和隱式LOGSOURCE [T]的範圍是有問題的類型。

換句話說,沒有LOGSOURCE [TestKit]

我想解決這個問題最簡單的解決方案,以最小的額外配置。到目前爲止,我所做的是下面的,一切按預期工作:

class ChangeSetActorTest extends PersistenceSpec(ActorSystem("Persistent-test-System")) with 

PersistenceCleanup {

 val log = system.log 

從那裏,我只是去和不喜歡的東西

val received = chgtFetcher.receiveWhile((requestInterval + ProcessingLag).*(3)) { 
    case msg:FetchNewChangeSet => log.info(s"received: ${msg}") ; chgtFetcher.reply(NoAvailableChangeSet); msg 
} 

我的問題,這是推薦appraoch。到目前爲止,來自我的演員和來自測試者的消息的順序排序良好。

請雲你讓我知道推薦appraoch登錄統一appraoch:

1 - 同時從測試類(如上述)和演員?

2 - 如果使用外部類需要登錄的系統,並且需要一個統一日誌記錄(異步)。

非常感謝

-M-

回答