This is a good migration path to allow for that. I'd still like to see log4j-core trimmed down a bit, too.
On 11 January 2017 at 15:28, Mikael Ståldal <mikael.stal...@magine.com> wrote: > I think that we should still split up log4j-core though. > > On Jan 10, 2017 3:18 AM, "Matt Sicker" <boa...@gmail.com> wrote: > >> Going to go with the name Log4j Boot. I submitted a git repo request and >> the form says it should be created within the hour. >> >> On 8 January 2017 at 23:13, Apache <ralph.go...@dslextreme.com> wrote: >> >>> 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> 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) or org.apache.logging.log4j.starter(s). >>>> >>>> So what do you think? >>>> >>>> -- >>>> Matt Sicker <boa...@gmail.com> >>>> >>> >>> >>> >>> -- >>> Matt Sicker <boa...@gmail.com> >>> >>> >>> >> >> >> -- >> Matt Sicker <boa...@gmail.com> >> > -- Matt Sicker <boa...@gmail.com>