如何使用 SBT 和 Scala 正确管理开发和生产中的 logback 配置?

2023-12-25

我有一个非常标准的 Scalatra 项目,使用 Logback 进行日志记录。

回溯手册 http://logback.qos.ch/manual/configuration.html我添加了一个logback-test.xml对于我的开发配置(调试日志),同时维护生产logback.xml.

然而,在开发过程中使用xsbt-web-plugin要运行带有代码重新加载的容器,我的应用程序似乎只接收到logback.xml.

我如何获得所需的行为?:

  1. 在开发模式下(./sbt container:start)应用程序使用logback-test.xml
  2. 当组装成拉链时使用SBT组装 https://github.com/sbt/sbt-assembly,排除测试配置。

目前这些似乎都不起作用。


你滥用了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 https://stackoverflow.com/a/26538449/1809978

在我的实践中,我们不打包logback.xml即使在产品中(它指向某个外部位置)也能够临时更改日志记录配置。

附:如果您还对从 sbt- assembly 中排除文件感兴趣 -this https://stackoverflow.com/a/27198444/1809978可能有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 SBT 和 Scala 正确管理开发和生产中的 logback 配置? 的相关文章

随机推荐