我已将我的项目迁移到 0.13.5 并开始使用xsbt-web-plugin。
我想将 logback 配置为使用由系统属性设置的类路径之外的配置文件logback.configurationFile
(因此我可以将 logconfig 保留在 war 文件之外)。
以前我会简单地设置:
System.setProperty("logback.configurationFile", "/some/path/logback.xml")
在里面project/build.scala
和 logback 会捡起它。
但是,在将 sbt 升级到 0.13.5 并迁移到 sbt 中设置的 xsbt-web-plugin 系统属性后,在运行时(jetty)似乎不可用。
我尝试以不同的方式设置系统属性,也可以-D
在启动 sbt 时使用标志传递它。
在 sbt 控制台上,我可以看到属性:
eval sys.props("logback.configurationFile")
[info] ans: String = /some/path/logback.xml
但它在 webapp 中不可用。
关于如何将系统属性设置为在 webapp 中可用的任何想法?
我都试过了jetty()
和tomcat()
。相同的行为。
更新: 我最终得到:
jetty(options = new ForkOptions(runJVMOptions = Seq("-Dlogback.configurationFile=/some/path/logback.xml")))
这样可行。