diff --git a/akka-actor-tests/src/test/scala/akka/event/LoggingReceiveSpec.scala b/akka-actor-tests/src/test/scala/akka/event/LoggingReceiveSpec.scala index c6b41095d1..7985b3bab4 100644 --- a/akka-actor-tests/src/test/scala/akka/event/LoggingReceiveSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/event/LoggingReceiveSpec.scala @@ -25,7 +25,10 @@ object LoggingReceiveSpec { class LoggingReceiveSpec extends WordSpec with BeforeAndAfterAll { import LoggingReceiveSpec._ - val config = ConfigFactory.parseMap(Map("akka.logLevel" -> "DEBUG").asJava).withFallback(AkkaSpec.testConf) + val config = ConfigFactory.parseString(""" + akka.loglevel=DEBUG + akka.actor.serialize-messages = off # debug noise from serialization + """).withFallback(AkkaSpec.testConf) val appLogging = ActorSystem("logging", ConfigFactory.parseMap(Map("akka.actor.debug.receive" -> true).asJava).withFallback(config)) val appAuto = ActorSystem("autoreceive", ConfigFactory.parseMap(Map("akka.actor.debug.autoreceive" -> true).asJava).withFallback(config)) val appLifecycle = ActorSystem("lifecycle", ConfigFactory.parseMap(Map("akka.actor.debug.lifecycle" -> true).asJava).withFallback(config)) diff --git a/akka-actor/src/main/scala/akka/event/LoggingReceive.scala b/akka-actor/src/main/scala/akka/event/LoggingReceive.scala index ac3e9d6fe1..4ed7ec66fa 100644 --- a/akka-actor/src/main/scala/akka/event/LoggingReceive.scala +++ b/akka-actor/src/main/scala/akka/event/LoggingReceive.scala @@ -51,12 +51,14 @@ class LoggingReceive(source: Option[AnyRef], r: Receive, label: Option[String])( def this(source: Option[AnyRef], r: Receive)(implicit context: ActorContext) = this(source, r, None) def isDefinedAt(o: Any): Boolean = { val handled = r.isDefinedAt(o) - val (str, clazz) = LogSource.fromAnyRef(source getOrElse context.asInstanceOf[ActorCell].actor) - context.system.eventStream.publish(Debug(str, clazz, "received " + (if (handled) "handled" else "unhandled") + " message " + o - + (label match { - case Some(l) ⇒ " in state " + l - case _ ⇒ "" - }))) + if (context.system.eventStream.logLevel >= Logging.DebugLevel) { + val (str, clazz) = LogSource.fromAnyRef(source getOrElse context.asInstanceOf[ActorCell].actor) + context.system.eventStream.publish(Debug(str, clazz, "received " + (if (handled) "handled" else "unhandled") + " message " + o + + (label match { + case Some(l) ⇒ " in state " + l + case _ ⇒ "" + }))) + } handled } def apply(o: Any): Unit = r(o)