diff --git a/akka-actor/src/main/scala/akka/io/SelectionHandler.scala b/akka-actor/src/main/scala/akka/io/SelectionHandler.scala index 4075a1e95b..e8ae60acc2 100644 --- a/akka-actor/src/main/scala/akka/io/SelectionHandler.scala +++ b/akka-actor/src/main/scala/akka/io/SelectionHandler.scala @@ -257,7 +257,12 @@ private[io] class SelectionHandler(settings: SelectionHandlerSettings) extends A decision: SupervisorStrategy.Directive): Unit = try { val logMessage = cause match { - case e: ActorInitializationException if e.getCause ne null ⇒ e.getCause.getMessage + case e: ActorInitializationException if (e.getCause ne null) && (e.getCause.getMessage ne null) ⇒ e.getCause.getMessage + case e: ActorInitializationException if e.getCause ne null ⇒ + e.getCause match { + case ie: java.lang.reflect.InvocationTargetException ⇒ ie.getTargetException.toString + case t: Throwable ⇒ Logging.simpleName(t) + } case e ⇒ e.getMessage } context.system.eventStream.publish(