That sounds promising Matt, especially considering it also runs on Android.

Gary

On Sat, Jan 29, 2022, 00:27 Matt Sicker <boa...@gmail.com> wrote:

> I’ve recently been looking at a super small DI library [1] which might be
> more useful as a basis for the new DI system. If this logic is adaptable
> enough, this could form the basis for a sort of pico-dependency-injection
> kernel. The current code in master is more inspired by CDI which is a bit
> heavier which may not be necessary. I’ll experiment with that a bit and see
> where it goes.
>
> [1]: https://github.com/zsoltherpai/feather
> —
> Matt Sicker
>
> > On Jan 28, 2022, at 11:33, Ralph Goers <ralph.go...@dslextreme.com>
> wrote:
> >
> > More than that, it has already taken too long. I’d like to support Java
> 11 fully.
> >
> > Ralph
> >
> >> On Jan 28, 2022, at 9:25 AM, Matt Sicker <boa...@gmail.com> wrote:
> >>
> >> I’d imagine it’s because maintaining two active development branches
> for a long time is a pain in the ass.
> >> —
> >> Matt Sicker
> >>
> >>> On Jan 28, 2022, at 10:15, Gary Gregory <garydgreg...@gmail.com>
> wrote:
> >>>
> >>> What is the rush for releasing version 3?
> >>>
> >>> Gary
> >>>
> >>> On Fri, Jan 28, 2022, 10:05 Volkan Yazıcı <vol...@yazi.ci> wrote:
> >>>
> >>>> I think such an SPI effort will not add a value enough to justify the
> delay
> >>>> it will cause for 3.0.0. We need to release `master`, preferably,
> ASAP,
> >>>> IMHO. Any "enhancements" can be scheduled for later releases,
> including
> >>>> 4.0.0.
> >>>>
> >>>> For the record, I second Ralph's idea of pulling JsonReader up from
> >>>> JsonTemplateLayout and natively support properties+JSON in the core.
> >>>>
> >>>> On Thu, Jan 27, 2022 at 9:08 PM Matt Sicker <boa...@gmail.com> wrote:
> >>>>
> >>>>> Defining an appropriate SPI in log4j-plugins for how to transform a
> >>>>> configuration source into a configuration instance seems like a good
> >>>>> idea. Some of my earlier ideas on the DI SPI was to allow for
> >>>>> alternative implementations that were either generated code or
> >>>>> hand-written code to avoid runtime reflection or to allow for a
> >>>>> statically defined configuration.
> >>>>>
> >>>>> On Thu, Jan 27, 2022 at 7:37 AM Gary Gregory <garydgreg...@gmail.com
> >
> >>>>> wrote:
> >>>>>>
> >>>>>> On Wed, Jan 26, 2022 at 7:44 PM Carter Kozak <cko...@ckozak.net>
> >>>> wrote:
> >>>>>>
> >>>>>>> If the API is a minimal core, that sounds like a bug! However, I
> >>>> don't
> >>>>>>> think that's quite the case, it requires that the consumer
> implement
> >>>>> their
> >>>>>>> own loggers entirely. What I'm thinking about is more of an
> >>>>>>> spi/implementation separation akin to our loggers, but for
> >>>> transforming
> >>>>>>> configuration bytes into a log4j configuration.
> >>>>>>>
> >>>>>>
> >>>>>> I thought that was the point of splitting out a log4j-plugins
> module,
> >>>> but
> >>>>>> maybe that's wishful thinking on my part.
> >>>>>>
> >>>>>> Gary
> >>>>>>
> >>>>>>>
> >>>>>>> -ck
> >>>>>>>
> >>>>>>> On Wed, Jan 26, 2022, at 19:38, Matt Sicker wrote:
> >>>>>>>> A truly minimal core that only supports properties is the API
> >>>> itself.
> >>>>>>> Look into SimpleLogger.
> >>>>>>>>
> >>>>>>>> —
> >>>>>>>> Matt Sicker
> >>>>>>>>
> >>>>>>>>> On Jan 26, 2022, at 18:29, Carter Kozak <cko...@ckozak.net>
> >>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I agree with Gary about a truly minimal core (though I'm going
> >>>> to
> >>>>>>> stay out of the naming argument, it's one of the two hardest
> problems
> >>>>> in
> >>>>>>> CS). My largest use-case doesn't involve parsing any sort of
> >>>>> configuration
> >>>>>>> -- it's all programmatic. I'd benefit from the ability to run
> without
> >>>>> any
> >>>>>>> sort of DI, plugin system, or configuration parser.
> >>>>>>>>>
> >>>>>>>>> -ck
> >>>>>>>>>
> >>>>>>>>>> On Wed, Jan 26, 2022, at 18:50, Matt Sicker wrote:
> >>>>>>>>>> I'm not a fan of the properties format for the same reasons as
> >>>>> Ralph.
> >>>>>>>>>> I think we should try to support a structured format like JSON
> >>>> by
> >>>>>>>>>> default as a JSON parser is fairly small to define when you
> >>>> don't
> >>>>> need
> >>>>>>>>>> fancy annotation-related features.
> >>>>>>>>>>
> >>>>>>>>>> The plugins module might seem heavy, but the large number of
> >>>>>>>>>> additional lines of code that would be necessary in every plugin
> >>>>> to do
> >>>>>>>>>> all the same boilerplate would likely be far greater than the
> >>>>> plugin
> >>>>>>>>>> system. Just think of all the string conversion, null checks,
> >>>>> empty
> >>>>>>>>>> checks, deprecated static factory methods, and config files that
> >>>>> would
> >>>>>>>>>> end up looking like Spring beans.xml files, if the plugin system
> >>>>>>>>>> didn't exist. This would just be thousands more lines for
> >>>>>>>>>> auto-formatters to have fun with.
> >>>>>>>>>>
> >>>>>>>>>> While it'd be neat to just reuse another dependency for
> >>>>> configuration
> >>>>>>>>>> and dependency injection, what logging framework would that
> >>>>> dependency
> >>>>>>>>>> use? Also, any off-the-shelf DI framework will have far more
> >>>>> features
> >>>>>>>>>> than we need to parse a config file and create its graph of
> >>>>> objects.
> >>>>>>>>>> If there were something like a pico-guice type framework that we
> >>>>> could
> >>>>>>>>>> copy into the library like picocli, then that would be another
> >>>>> story.
> >>>>>>>>>>
> >>>>>>>>>>> On Wed, Jan 26, 2022 at 7:08 AM Gary Gregory <
> >>>>> garydgreg...@gmail.com>
> >>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Hi all,
> >>>>>>>>>>>
> >>>>>>>>>>> Is a truly small core possible for 3.0?
> >>>>>>>>>>>
> >>>>>>>>>>> What I mean by that is that I'd like to run an app with log4j
> >>>>>>> without an
> >>>>>>>>>>> XML configuration, or JSON, or YAML, or the whole plugin
> >>>>>>> infrastructure,
> >>>>>>>>>>> scanning, or reading a plugin metadata db. Just a properties
> >>>>> files.
> >>>>>>> And if
> >>>>>>>>>>> I can only run with just a properties file, I should be able to
> >>>>> run
> >>>>>>> only
> >>>>>>>>>>> with system properties.
> >>>>>>>>>>>
> >>>>>>>>>>> With the addition in master of a separate log4j-plugins module,
> >>>>> on
> >>>>>>> top of
> >>>>>>>>>>> log4j-core, 3.0 is feeling heavier and heavier, an so
> >>>>> complicated.
> >>>>>>>>>>>
> >>>>>>>>>>> I am not an fan of inventing a whole configuration and plugin
> >>>>>>> system, I'd
> >>>>>>>>>>> rather depend one even if it is copying it. It just feels like
> >>>>>>>>>>> not-invented-here syndrome.
> >>>>>>>>>>>
> >>>>>>>>>>> As an aside, I have never liked that we have a jar called
> >>>>> log4j-core
> >>>>>>> but on
> >>>>>>>>>>> the web site it's called "Log4j Implementation", it's
> >>>> confusing.
> >>>>>>>>>>>
> >>>>>>>>>>> For 3.0, it would be nice to make it obvious that what depends
> >>>> on
> >>>>>>> java.base
> >>>>>>>>>>> be in a module called log4j-base instead of core.
> >>>>>>>>>>>
> >>>>>>>>>>> Gary
> >>>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>
> >
>
>

Reply via email to