作为测试的一部分,我使用 EventFilter 和 TestEventListener 来监听日志消息。但是,这样做会导致我的命令提示符中出现大量洪水......这使得我很难看到我的测试正在发生。
示例代码:
it("should send a welcome message to the user", SystemFortressTest) {
val stub = new SubFortressBuildingPermitRefTraitImplStub
EventFilter.debug(message = "SystemFortressExchange: Received Message: SystemOutput(List(JITMP Booted))", occurrences = 1) intercept {
stub.buildASubFortress(SystemFortressBlueprintRef)
}
}
这段代码有效,但它用调试级别的数据淹没了我,因为 TestEventListener 默认打印到 STDOUT(因为它子类化了默认记录器,它只是直接的 STDOUT 记录)
我可以滚动我自己的日志抽象,它位于 Akka 的顶部,并在它到达 Akka 的东西之前从那里过滤消息......所以它不会污染我的命令提示符......但是如果有一个非常大惊小怪类似的解决方案已经可用。
问题是,如果我使用 SL4J Logger,它不适用于 EventFilter。