> On Dec 16, 2019, at 7:01 AM, Gary Gregory <[email protected]> wrote:
> 
> On Sun, Dec 15, 2019 at 5:56 PM Ralph Goers <[email protected] 
> <mailto:[email protected]>>
> wrote:
> 
>> 
>> 
>>> On Dec 15, 2019, at 2:44 PM, Gary Gregory <[email protected]>
>> wrote:
>>> 
>>> All good thoughts.
>>> 
>>> I suspect that now that 2.x is on Java 8 there are some clean ups we will
>>> want to do. What comes to mind immediately is deprecating our functional
>>> interfaces in favor of the ones in java.util.function. Then we can drop
>> our
>>> custom functional interfaces in the 3.0 branch (if that did not already
>>> happen.)
>> 
>> Although I am not opposed, is there any benefit to that? It just adds more
>> binary incompatibilities. Although some are necessary I’d like to keep the
>> upgrade from 2.x to 3.0 as easy as possible.
>> 
> 
> By definition 3.0 is going to be binary incompatible with 2.x, so I am not
> worried about how much different it will be. Log4j 3 will have to be
> repackaged so that it can live in the same class loader as Log4j 2,
> otherwise, it will be a giant headache for people (like me) that live in
> large stacks with dependencies they cannot control that use all sorts of
> stuff.


Umm. What you are describing sounds like a nightmare.  Having multiple 
incompatible Log4j versions would mean we would have to build a bridge between 
the two so that users of the 2.x API can route to the 3.x implementation.  If 
the APIs are the same then that wouldn’t be necessary.  It has been so long 
that I have forgotten if we have really made the API incompatible.

Ralph

Reply via email to