我有一个非常标准的 Scalatra 项目,使用 Logback 进行日志记录。
关注 logback manual我添加了一个 logback-test.xml
用于我的开发配置(调试日志),同时维护生产 logback.xml
.
但是,在开发中同时使用了xsbt-web-plugin
要运行带有代码重新加载的容器,我的应用程序似乎只能获取 logback.xml
.
我如何获得所需的行为?:
./sbt container:start
) 中,应用程序使用 logback-test.xml
目前,这些似乎都不起作用。
最佳答案
你在滥用 logback-test.xml
.它仅用于类似单元的测试,应放置在 src/test/resources
中。 (自动从产品中排除)。为了实现你想要的 - 你可以设置你的路径 logback-dev.xml
按系统属性:
javaOptions in container += "-Dlogback.configurationFile=/some/path/logback-dev.xml"
这个路径可能是相对的。见,https://stackoverflow.com/a/26538449/1809978
在我的实践中,我们不打包
logback.xml
即使在 prod 中(它指向某个外部位置)也有能力临时更改日志记录配置。附注如果您也对从 sbt-assembly 中排除文件感兴趣 - this可能有帮助
关于scala - 如何使用 SBT 和 Scala 在开发和生产中正确管理 logback 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27538717/