Go for it!

Ralph

> On Jan 8, 2017, at 1:44 PM, Matt Sicker <boa...@gmail.com> wrote:
> 
> Also, one neat aspect of this that I didn't think of at first is that as we 
> trim down log4j-core and the main logging-log4j2 repository, users won't need 
> to worry about changing dependencies down the line as the updated starters 
> will point to the proper dependencies.
> 
> I also have two more starter ideas:
> 
> * One that brings in all relevant log4j bridges (slf4j-impl, jul, jcl, 
> log4j-1.2)
> * One that brings in all relevant slf4j bridges instead (slf4j-impl, 
> jcl-over-slf4j, jul-to-slf4j) similar to the spring-boot-starter-log4j2
> 
> For completeness sake, I'd also be willing to add starters for a few trivial 
> things like the various bridges and log4j-api-lang modules, though those 
> should work well enough without using a starter (though it could be confusing 
> if there is no starter for them).
> 
> On 8 January 2017 at 14:26, Matt Sicker <boa...@gmail.com 
> <mailto:boa...@gmail.com>> wrote:
> I think I have a decent idea on how to handle the optional dependencies 
> confusion without needing to split off log4j-core into a zillion submodules. 
> The idea is inspired by the spring-boot-starter-* packages that give you a 
> dependency that's just a pom.xml file (along with some META-INF files, but 
> that would be irrelevant here) that pull in the required dependencies for a 
> feature. So, for example, we could make up a bunch of log4j-starter-* modules 
> that contain pom.xml files to pull in all necessary dependencies for a 
> particular optional feature. Examples:
> 
> [all modules would start with the prefix "log4j-starter-"]
> * async (for AsyncLogger; brings in LMAX disruptor)
> * config-json
> * config-yaml
> * script-groovy
> * layout-csv
> * layout-jansi (for windows users and coloured log messages)
> * layout-json (unless this has been ported to not require jackson anymore?)
> * layout-xml
> * layout-yaml
> * appender-async-conversant
> * appender-async-jctools
> * appender-cassandra
> * appender-couchdb
> * appender-jms
> * appender-jpa
> * appender-kafka
> * appender-mongodb
> * appender-smtp
> * appender-zeromq (or jeromq?)
> 
> I may have missed a few, but the base set of starters should at least 
> correspond to all optional dependencies in log4j-core or the addon modules. 
> For the jms, jpa, and smtp appenders, we could either make add in a default 
> provider (e.g., ActiveMQ, Hibernate, and Sun Mail respectively) or split 
> those into provider-specific starters.
> 
> Ideally, these starters would live in their own repository 
> (logging-log4j-starters), and the groupId can be either 
> org.apache.logging.log4j (I think that'd get confusing when searching on 
> maven.org <http://maven.org/>) or org.apache.logging.log4j.starter(s).
> 
> So what do you think?
> 
> -- 
> Matt Sicker <boa...@gmail.com <mailto:boa...@gmail.com>>
> 
> 
> 
> -- 
> Matt Sicker <boa...@gmail.com <mailto:boa...@gmail.com>>

Reply via email to