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>>