【问题标题】:How can I get the name of an Akka actor from within the actor itself?如何从演员本身中获取 Akka 演员的名字?
【发布时间】:2026-01-29 07:30:01
【问题描述】:

所以,如果我有一个演员,我可以给它起个名字。但是,我可以在内部访问该名称吗?示例:

class Actorz extends Actor with ActorLogging {
   val actorName = //??What function

   def receive = {
     case x => log.debug(actorName+": Received Message: "+x)
   }
}

val actor = system.actorOf(Props[Actorz], "named")
actor ! "dogs"

现在,我可以将其名称作为构造函数参数传递。但是,如果有办法在内部获取名称,这似乎是不必要的重复......因为它是在我使用 system.actorOf 实例化演员时设置的。 API 文档似乎没有任何内容。

【问题讨论】:

  • 如果你使用ActorLogging,为什么需要演员的name?记录器默认提供所有需要的关于演员的信息来检测一个。

标签: scala akka


【解决方案1】: