Установить / изменить свойства списка в application.properties в Akka - PullRequest
0 голосов
/ 24 ноября 2018

Я хочу использовать slf4j для ведения журнала, основываясь на logging doc .Эти настройки должны быть изменены в application.conf:

akka {
  loggers = ["akka.event.slf4j.Slf4jLogger"]
  logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
}

Я использую application.properties вместо application.conf:

akka.loggers[0]=akka.event.slf4j.Slf4jLogger
akka.logging-filter=akka.event.slf4j.Slf4jLoggingFilter

Но приведенный выше конфиг не меняется akka.loggersзначение (значение по-прежнему является значением по умолчанию: akka.event.Logging$DefaultLogger).

Печать всей конфигурации:

"loggers" : [
    # reference.conf @ jar:file:/home/user/.m2/repository/com/typesafe/akka/akka-actor_2.12/2.5.18/akka-actor_2.12-2.5.18.jar!/reference.conf: 17
    "akka.event.Logging$DefaultLogger"
],
# application.properties @ file:/home/user/workspace/x-platform/target/test-classes/application.properties
"loggers[0]" : "akka.event.slf4j.Slf4jLogger",
# application.properties @ file:/home/user/workspace/x-platform/target/test-classes/application.properties
"logging-filter" : "akka.event.slf4j.Slf4jLoggingFilter",

Поэтому мой вопрос: как я могу установить /изменить значение для списка prpperty в application.properties?

Я использую akka 2.5.18 с Java.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы пробовали эту вещь parseString?

val customConf = ConfigFactory.parseString("""
      akka {
        loggers = ["akka.event.slf4j.Slf4jLogger"]
        logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
      }
      """)
val system = ActorSystem("MySystem", ConfigFactory.load(customConf))

или комбинировали пользовательский конфиг с обычным

Config myConfig =ConfigFactory.parseString("loggers=['akka.event.slf4j.Slf4jLogger']");
Config regularConfig = ConfigFactory.load();
Config combined = myConfig.withFallback(regularConfig);
...