Загрузите конфигурации обратного входа в зависимости от среды с Scala Play2.5

Я хотел бы загрузить различные конфигурации обратного входа на основе переменной среды SCALA_ENV.

  1. если SCALA_ENV=PROD загрузить logback.xml
  2. если SCALA_ENV=dev загрузить logback-dev.xml
  3. если SCALA_ENV = тестовая загрузка logback-test.xml
  4. если SCALA_ENV=qa загрузить logback-qa.xml

Из документа Play2.5 я нашел этот пример, но он не ясен.

Также MyComponenets не решена, и компиляция не удалась.

2 ответа

Вот как я делаю это в моем build.sbt файл:

// logback for Prod
javaOptions in Production += "-Dlogger.resource=logback.prod.xml"

// logback for testing
javaOptions in Test += "-Dlogger.resource=logback.test.xml"

Мой по умолчанию один - dev, который просто оставлен в месте по умолчанию.

Не идеальное решение, но я изменил файл -Dlogger.resource в зависимости от среды в build.sbt

 lazy val logBackXml = sys.env("env").toLowerCase() match {
      case "prod" => "-Dlogger.resource=logback.xml"
      case "test" => "-Dlogger.resource=logback.test.xml"
      case "qa"   => "-Dlogger.resource=logback.qa.xml"
      case _      => "-Dlogger.resource=logback.dev.xml"
 }

 javaOptions in Production += logBackXml
Другие вопросы по тегам