Logger throws IncompatibleClassChangeError at runtime when processing a custom log message class
Solution 1:
It turned out that there was Lib C that has a reference to the old implementation of the CustomLogMessage class and this lib C was loaded first by the JVM and therefore when it reached this line LOGGER.info(new CustomLogMessage(args));
during run-time, it threw the exception (binary incompatible).