Re: [LOG4J2-2803] Getting back to the plugin system rewrite

2021-06-05 Thread Ralph Goers
A couple of points: 1. I believe JsonTemplateLayout was recently modified to also use the plugin system. 2. Now that api, plugin and core are JPMS modules I’d like to modify all the others that could reasonably be made modules, make another pass at core in eliminating dependencies and hiding in

Re: [LOG4J2-2803] Getting back to the plugin system rewrite

2021-06-05 Thread Matt Sicker
I've updated https://issues.apache.org/jira/browse/LOG4J2-2803 with a better overview of the existing systems, the idea behind the new system, and some other details. I have some written notes about the state of the mean-bean-machine branch relating to what's left to integrate which is essentially

Re: [LOG4J2-2803] Getting back to the plugin system rewrite

2021-05-29 Thread Ralph Goers
While you could write the ServiceLoader class by hand, I wouldn’t want anyone to. That would be error prone. I have though about creating a Maven plugin to generate the class, but all that would do is replace the proc=only compile step, so there isn’t much point. Ralph > On May 29, 2021, at 5

Re: [LOG4J2-2803] Getting back to the plugin system rewrite

2021-05-29 Thread Matt Sicker
I'm having some fun right now figuring out the proper module openings to enable for Java 16, so yes, I agree that the module system has been a pain in the ass. I do like the idea of ensuring the output of the annotation processor is a simple service loader class that could be written by hand if nee

Re: [LOG4J2-2803] Getting back to the plugin system rewrite

2021-05-29 Thread Ralph Goers
We do need better docs on this. 3.0 is going to be a mixed bag. It will be easier for “normal” applications because plugins now use ServiceLoader instead of the Log4jPlugins.dat file. However, it is going to be more challenging for those developing plugins if they use the Java Platform Module

[LOG4J2-2803] Getting back to the plugin system rewrite

2021-05-29 Thread Matt Sicker
Hey all, that itch is back to figure out how to complete my previous attempt at the plugin system updates (started a little over a year ago and put on pause at some point). I'm currently working on getting that branch back up to working again with master (mostly needing to update module-info files)