[ 
https://issues.apache.org/jira/browse/LOG4J2-673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14039986#comment-14039986
 ] 

Matt Sicker commented on LOG4J2-673:
------------------------------------

Here's the thing. You need to include log4j-core as a dependency if you want to 
write a Log4j plugin, right? Well, said log4j-core JAR contains an annotation 
processor (which would be enabled by default in any Java build system as of at 
least 1.6, which is the minimum Java version supported), and said annotation 
processor is where the PluginManager part of the build process has been moved 
to.

Now as to whether or not the current file format is ideal for unusual scenarios 
is another question. It makes sense to just use a serialized file format, but 
any changes are beyond the scope of this issue. Unless there's an easier way to 
do this that doesn't involve even more XML or something like that. ;)

> plugin preloading fails in shaded jar files
> -------------------------------------------
>
>                 Key: LOG4J2-673
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-673
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-rc2
>            Reporter: Mck SembWever
>            Priority: Critical
>              Labels: annotations, compiler, plugins
>             Fix For: 2.0-rc2
>
>         Attachments: 
> 0002-LOG4J2-673-plugin-preloading-fails-in-shaded-jar-fil.patch
>
>
> Support for plugin preloading through the standard 
> javax.annotation.processing tool was adding in LOG4J2-595
> 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



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to