I have a pretty standard Scalatra project using Logback for logging.
Following the logback manual I have added a logback-test.xml
for my development configuration (logs of debugs), whilst maintaining a production logback.xml
.
However, in development while using the xsbt-web-plugin
to run a container with code reloading, my app only seems to pick up the logback.xml
.
How do I get the desired behavior?:
./sbt container:start
) the app uses logback-test.xml
Currently neither of these seems to work.
You're misusing logback-test.xml
. It's intended for unit-like tests only and should be placed in src/test/resources
(which is automatically excluded from prod). To achieve what you want - you may set up path to your logback-dev.xml
by system property:
javaOptions in container += "-Dlogback.configurationFile=/some/path/logback-dev.xml"
This path may be relative. See, https://stackoverflow.com/a/26538449/1809978
In my practice we don't pack logback.xml
even in prod (it's pointed to some external place) to have ability to change logging configuration ad-hoc.
P.S. If you're also interested about excluding files from sbt-assembly - this may help
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With