在应用程序启动时记录 akka 配置在 Play Framework 2.8 中不起作用

Logging akka configs on Application Start is not working in Play Framework 2.8

我正在使用最新的播放框架 (2.8.12) 我正在尝试在应用程序启动时打印 akka 配置 这是我的配置的样子

application.conf

play {
  server {
    # The server provider class name
    provider = "play.core.server.AkkaHttpServerProvider"

    akka {
        loglevel = "INFO"
        log-config-on-start = on
        
        default-dispatcher {
               fork-join-executor {
                 parallelism-min = 8
                 parallelism-factor = 32.0
                 parallelism-max = 64
                 task-peeking-mode = "FIFO"
              }
        }
    }
  }
}

正在尝试调整线程池设置,但 none 的更改似乎已生效。所以尝试在应用程序启动时记录配置。

我要做的第一件事就是从您的一个控制器打印提供的配置。

@Singleton
class ConfigController @Inject()(val controllerComponents: ControllerComponents, val config: Config)
    extends BaseController {

  println(config.root().render())
...
}

请注意,这将打印完整配置,包括在您的类路径中找到的所有 reference.conf


关于您的 application.conf,我认为您放错了 default-dispatcher 配置。它必须在 akka.actor 而不是 play.server.akka

play.server.provider = "play.core.server.AkkaHttpServerProvider"

akka {
  loglevel = "INFO"
  log-config-on-start = on
  actor.default-dispatcher {
    executor = fork-join-executor
    fork-join-executor {
      parallelism-min = 8
      parallelism-factor = 32.0
      parallelism-max = 64
      task-peeking-mode = "FIFO"
    }
  }
}


要使 log-config-on-start 正常工作,请确保将 logback.xml 记录器 akka 配置为允许 INFO 日志。

<logger name="akka" level="INFO"/>