LogManager.getLogger() is unable to determine class name on Java 11

The reason was that the multi-release class files were not being picked up from META-INF/versions/* because I hadn't set the multi-release flag when I built my shaded jar.

I needed to add:

Multi-Release:true

To my manifest, and everything started working.


The answer by @DanielScott is correct. When using the Gradle Shadow plugin, I added the following to my build.gradle to appended the Multi-Release:true flag to the manifest.

jar {
    manifest {
        attributes 'Multi-Release': 'true'
    }
}