> Out of curiousity, why add in annotation processing to the mix?

To be clear, no annotation processing is being added, per se. The
annotation processing is already there and has been for years at this
point. The question is whether or not our own simple re-implementation is a
good way forward to maintain the essential functionality we already have
and also to slim our dependencies.


Justin

On Tue, May 3, 2022 at 3:59 PM Étienne Hossack <activ...@hossack.me> wrote:

> Jumping back to the specific approach...
>
> Out of curiousity, why add in annotation processing to the mix? Seems like
> a clever enough approach, but most projects I've worked with don't involve
> annotations/code generation in the logging mix (apart from e.g. Lombok +
> Slf4j annotations).
>
> Clebert, what do you see as the alternative to using annotations for this
> (what you considered before proposing this approach)?
>
> --
> Étienne
> he/him/his
>
> On Tue, 3 May 2022, at 10:15 AM, Timothy Bish wrote:
> > On 4/29/22 16:36, Clebert Suconic wrote:
> >> For a while, I thought it would be nice to remove jboss-logging from
> >> artemis and use a generic logger. (SLF4J, Log4j, commons.. whatever..
> >> it's all orthogonal and transparent to this discussion, we can decide
> >> that at a later point).
> >>
> >>
> >> One of the issues we had while making the move would be the generated
> >> error codes out of the Log Processor.
> >>
> >>
> >> So, I put together a prototype here that would generate code based on
> >> an interface and that could use whatever logger we choose. I will try
> >> to never remove the branch for future reference:
> >>
> >>
> >>
> https://github.com/clebertsuconic/activemq-artemis/tree/prototype-log-processor
> >>
> >>
> >>
> >> the Log processor would read the annotations and generate the code:
> >>
> >>
> https://github.com/clebertsuconic/activemq-artemis/blob/prototype-log-processor/artemis-log-processor/src/main/java/org/apache/activemq/artemis/logprocessor/processor/LogProcessor.java
> >>
> >>
> >>
> >>
> >> A testcase here would show how such processing would work:
> >>
> >>
> https://github.com/clebertsuconic/activemq-artemis/blob/prototype-log-processor/artemis-log-processor/src/test/java/org/apache/activemq/i18n/test/SimpleBundleTest.java
> >>
> >>
> >> I have added some code on the artemis-server, trying to simulate what
> >> we would do in "real life":
> >>
> >>
> >>
> https://github.com/clebertsuconic/activemq-artemis/blob/prototype-log-processor/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerNewLogger.java
> >>
> >>
> >>
> >> This test here is making a call to the NewLogger, just to show how
> >> processing would work. Everything would work just like it would now:
> >>
> >>
> https://github.com/clebertsuconic/activemq-artemis/blob/prototype-log-processor/artemis-server/src/test/java/org/apache/activemq/artemis/core/TestSample.java
> >>
> >>
> >>
> >>
> >> I would appreciate some feedback if this is a good way forward or not...
> >>
> >> (please let's not diverge on what logging framework we are choosing
> >> now... that's a separate discussion).
> >>
> >>
> >>
> >>
> >>
> > +1
> >
> > Agree with others that slf4j would be a good choice
> >
> > --
> > Tim Bish
>
>

Reply via email to