使用Scala Play2.5根据环境加载回溯配置

时间:2017-04-19 23:00:09

标签: scala playframework-2.5 configuration-management

我想基于SCALA_ENV环境变量加载不同的logback配置。

  1. 如果SCALA_ENV = PROD加载logback.xml
  2. 如果SCALA_ENV = dev load logback-dev.xml
  3. 如果SCALA_ENV = test load logback-test.xml
  4. 如果SCALA_ENV = qa load logback-qa.xml
  5. 从Play2.5 docuemntation我发现了这个例子,但目前尚不清楚      enter image description here

      

    MyComponenets也未解析,编译失败。

2 个答案:

答案 0 :(得分:0)

我在// logback for Prod javaOptions in Production += "-Dlogger.resource=logback.prod.xml" // logback for testing javaOptions in Test += "-Dlogger.resource=logback.test.xml" 文件中执行此操作:

dachen@dachen-VirtualBox:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64
dachen@dachen-VirtualBox:~$ 

我的默认值是dev,它只是保留在默认位置。

答案 1 :(得分:0)

不是理想的解决方案,但我根据build.sbt中的环境更改了-Dlogger.resource文件

 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