> On Nov 5, 2023, at 2:58 PM, Matt Sicker <m...@musigma.org> wrote:

> I’ve suggested that we annotate code around API compatibility guarantees, and 
> we are using @InternalApi in main to mark things that shouldn’t be used as 
> stable code (even if it’s unlikely to change over time).
> 

Please be careful of your usage of the term “API”. Log4j-API is one thing. Very 
little in it should be private but there is some stuff. We have done a decent 
job of adding comments of “consider this priviate” but using annotations and 
any tooling we can to enforce that would greatly help.

As for the other modules, Log4j-Plugins obviously has a publicly exposed API. 
That was intentional as my hope is that eventually Log4j-Plugins could become a 
general use framework, not specific to Log4j. Log4j-Core is where the real meat 
of this is. If we wanted to be really clear we could have split log4j-core into 
log4j-core-api and log4j-core-impl but using JPMS and annotations should be 
enough.

Ralph

Reply via email to