Support for plugin preloading through the standard javax.annotation.processing tool was adding in
But the plugin processor always creates and stores the processed "Plugin" annotated classes into the same file. This works fine when the classpath consists of individual jar files, but fails when shaded jar files are used.
A tested fix exists at https://github.com/finn-no/logging-log4j2/tree/bugfix/LOG4J2-673
There's also a github pull request and a manual diff attached. (I can clean up anything not used afterwards)
The fix saves the dat file in a location under META-INF that matches the shared package all the processed plugins are found under.
The package attribute in the config file is then used so that multiple dat files can be loaded at runtime.
This means that the package attribute is no longer deprecated.
This has been tested against https://github.com/finn-no/log4j2-logstash-jsonevent-layout