As described in #928, Logback 1.5.18 used to be able to watch not-yet-existing files, but as of version 1.5.27, this feature is no longer available. We used this feature in Waves Node to make it easier for the end users to configure logging without restarting the process. Waves Node version 1.5.11 includes Logback 1.5.18, which works fine, and the development build with Logback 1.5.27 no longer loads the newly created included file.
Here's how to reproduce it in our app. Suppose /tmp/conf is an empty directory where logback.xml would later be created. Run the container with Waves node:
docker run --rm -it -e WAVES_WALLET_PASSWORD=123 -v /tmp/conf:/etc/waves wavesplatform/wavesnode:1.5.11
Notice that stdout log level is set to INFO and keep the process running. Now create the included logback.xml:
cat <<EOF >/tmp/conf/logback.xml
<included>
<property name="logback.stdout.level" value="TRACE"/>
</included>
EOF
Wait a few seconds and notice that TRACE messages begin to show up.
Check Logback version:
❯ docker run --rm --entrypoint bash wavesplatform/wavesnode:1.5.11 -c 'ls -1 /usr/share/waves/lib/*logback.logback*'
/usr/share/waves/lib/ch.qos.logback.logback-classic-1.5.18.jar
/usr/share/waves/lib/ch.qos.logback.logback-core-1.5.18.jar
When running the development build, Logback no longer reads the changes from the newly created file:
docker run --rm -it -e WAVES_WALLET_PASSWORD=123 -v /tmp/conf:/etc/waves ghcr.io/wavesplatform/waves:p256verify
Logback versions in the dev build:
❯ docker run --rm --entrypoint bash ghcr.io/wavesplatform/waves:p256verify -c 'ls -1 /usr/share/waves/lib/*logback.logback*'
/usr/share/waves/lib/ch.qos.logback.logback-classic-1.5.27.jar
/usr/share/waves/lib/ch.qos.logback.logback-core-1.5.27.jar
As described in #928, Logback 1.5.18 used to be able to watch not-yet-existing files, but as of version 1.5.27, this feature is no longer available. We used this feature in Waves Node to make it easier for the end users to configure logging without restarting the process. Waves Node version 1.5.11 includes Logback 1.5.18, which works fine, and the development build with Logback 1.5.27 no longer loads the newly created included file.
Here's how to reproduce it in our app. Suppose
/tmp/confis an empty directory wherelogback.xmlwould later be created. Run the container with Waves node:Notice that stdout log level is set to INFO and keep the process running. Now create the included logback.xml:
Wait a few seconds and notice that TRACE messages begin to show up.
Check Logback version:
When running the development build, Logback no longer reads the changes from the newly created file:
Logback versions in the dev build: