+1 on this approach!

I'd like to work with you on this to get more familiar with our logging
setup.

--Jens

On Thu, Sep 13, 2018 at 10:01 AM Kirk Lund <kl...@apache.org> wrote:

> Geode currently manipulates Log4J2 at runtime to add/remove Appenders based
> on the Cache lifecycle. While working on GEODE-5637, Sai and I tried to add
> ListAppender [1] from log4j-core test-jar programmatically at runtime using
> the same code that Geode uses for AlertAppender, LogWriterAppender and
> removing/adding STDOUT ConsoleAppender. Unfortunately, this behavior seems
> to either have never worked completely or was broken by one of the Log4J2
> dependency upgrades over the last couple years.
>
> In my opinion, it doesn't make sense to continue in this direction.
> GEODE-2644 describes an alternate approach which would be easier to
> maintain and more user-friendly in the long-run, so I'm planning to change
> the Geode appenders as described by GEODE-2644 and then add debug
> functionality to the Geode appenders which tests such as this can use for
> easier testing.
>
> Old approach: The Geode Appenders are added or removed when the Cache is
> created or closed. Geode uses Log4J2 Core APIs to reconfigure and
> updateLoggers, but updating of static loggers doesn't seem to be working as
> intended.
>
> New approach: The Geode Appenders would remain registered throughout the
> life of the JVM. The Appenders will contain mutable state that allows Geode
> to change its internal configuration or enable/disable output without
> resorting to programmatically reconfiguring Log4J2 at runtime to add/remove
> Appenders.
>
> We would also make the Geode Appenders optional and configurable from
> log4j2.xml, which allows users to use a different back-end such as Logback
> with Geode or to more easily tweak behavior of these Appenders when using
> Log4J2.
>
> I think this actually ends up being less work both in the short-run and
> long-run than trying to fixup the current approach.
>
> If anyone has concerns or opinions or wants to be involved, please reply to
> this thread.
>
> Thanks!
>
> [1] https://issues.apache.org/jira/browse/GEODE-5637
> [2] https://relentlesscoding.com/2018/04/21/unit-test-log4j2-log-output/
> [3] https://issues.apache.org/jira/browse/GEODE-2644
>

Reply via email to