I noticed that INFO-level log messages created by the NodeLogger in my Java-developed custom nodes no longer appear in the knime.log file or in the KNIME console, even though the Log Level configuration in File > Preferences > KNIME is set to INFO or DEBUG. INFO and DEBUG messages from the KNIME AP do appear as expected.
This started happening with version 5.5 (in lower versions it still works correctly). Only when in {Workspace}/.metadata/knime/log4j3.xml I change the default “error” to “info” or “debug in the following part:
the log messages from my code appear as per the configuration setting.
So it seems the minimal level in the configuration file overrides what is configured in the KNIME AP dialogue.
I could reproduce this in a newly created clean node with only logging statements and a in a fresh workspace. I tested in my Eclipse SDK for source versions 5.5 all the way to the nightly build, but the same happens in a freshly downloaded 5.8 release.
The logger levels are not updated with the minimum appender(!) level anymore (which is still done in <=AP 5.4 here).
Back then we considered this behavior a bug, since it mixes appender and logger levels, even though appenders have a minimum and maximum level, but loggers only have a minimum level. I still do, because it causes the fine-grained logger level configuration you can do in the rest of the XML config to be overwritten by the knime.log (logfile appender) and stdout/err appender Preferences. With this change, one can now fine-tune how much log data is produced.
In hindsight we should have added this to the release notes of 5.5 and explained the effect and how to enable custom extensions to emit their statements again.
You should be able to get your log statements through by adding something like that to the XML config (like you did for the root logger):