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