Hi Gary,

On Mon, 9 Oct 2023 at 13:04, Gary Gregory <garydgreg...@gmail.com> wrote:
> I think it is OK to break compatibility in a major version. I can't believe
> we'd ship classes that are duplicates of Java classes like BiConsumer.

I would very much like to add breaking changes to Log4j API too, but
we can not reasonably do it. We would push the few users that use
Log4j API towards SLF4J for good.
We need a 100% binary compatibility with version 2.x of the API.

I tried a couple of low level tricks to support the old interfaces and
at the same time prevent users from employing them in new code, but
there is no ideal solution.

The trick that has the best chance to work is to introduce a v3.Logger
superinterface of Logger. LogManager#getLogger would still return
Logger for binary compatibility, but users might opt-in and cast their
Logger to v3.Logger.

Piotr

Reply via email to