scala - Akka未加载application.conf

标签 scala akka

我是Akka的新手,无法加载application.conf文件。我定义了一个相对简单的conf文件,其中包括:

akka {
  logLevel = "NONE"
  stdout-logLevel = "NONE"
}

据我了解,这应该是自动获取的(已将其放置在src/main/resources目录中)。但是,当我加载默认记录器并输出“INFO”(打招呼)消息时,我仍然在控制台中看到它们(请参见以下代码)。
import akka.actor.{ActorRef, Actor, Props}
import akka.event.Logging

object HelloWorldActor {
  case object Tick
}


class HelloWorldActor extends Actor {
  val logger = Logging(context.system, this)
  var greeter : Option[ActorRef] = None

  override def preStart() = {
    greeter = Some(context.actorOf(Props[Greeter], "greeter"))
  }

  def doGreet(): Unit = {
    logger.info("doing greet")
    greeter match {
      case Some(g) => g ! Greeter.Greet
    }
  }
  def receive: Actor.Receive = {
    case HelloWorldActor.Tick => this.doGreet()
  }
}

我唯一能想到的是,我已经定义了一个内核以独立模式运行它,并且我不确定是否还有其他事情可以用来加载配置。

我将项目放在GitHub上以更好地检查我在做什么:https://github.com/JohnMurray/hello-akka

由于我目前是Akka新手,因此非常感谢您的帮助。另外,我应该提一下,我已经在线阅读了配置文档,但是在这种情况下它没有帮助。

谢谢!

最佳答案

尝试将文件放入src/main/resources/-application.conf不是scala文件,因此它不属于src/main/scala/resources,后者是软件包root.resources scala源的文件夹。

好的。我现在看到了问题所在。我认为没有日志级别设置NONE。

根据doc,有四个设置:

# Options: ERROR, WARNING, INFO, DEBUG
loglevel = "DEBUG"

尝试将其设置为“警告”。

另外,您在日志级别中有错别字-请注意,它不是驼峰名称,而是所有较低的日志级别。

旁注-在您的SBT版本中添加akka microkernel插件,并添加可以通过运行或重新启动操作启动的运行程序。

关于scala - Akka未加载application.conf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18431167/

相关文章:

Scala第一个程序-错误

json - 使用鉴别器编码 ADT 案例类,即使键入为案例类

scala - 远程监听 Akka-HTTP 端口

parallel-processing - react 性和弹性之间有什么区别?

java - Akka 的 ActorSystem 关闭?

java - 终止 Future 并获得中间结果

algorithm - 将多个 .OBJ 索引缓冲区映射/折叠到 OpenGL 的第一个索引缓冲区

scala - Chisel 中的 RegisterFile 测试

scala - 在 Akka 消息中发送 future 可以吗?

java - 管理 Akka Actor 系统生命周期