I also think that we shouldn't consider Chainsaw to be part of, or a
subproject of, Log4j. It should be its own project (within Apache
Logging Services).
And we should try to not couple it too tightly with Log4j 2. It can
depend on both log4j-api and log4j-core, and use classes like LogEvent
from log4j-core. But maybe we should try to avoid using the
configuration framework in log4j-core (the fact that it now uses the
configuration framework in Log4j 1 makes it considerably harder to
migrate away from it).
On 2017-11-20 21:41, Mikael Ståldal wrote:
I took a look at the Chainsaw source code, and tried to remove its
dependency on Log4j 1 and migrate to Log4j 2.
That was not easy, Chainsaw heavily depends on intricate Log4j 1
implementation details. There is a lot of tedious but straight-forward
search/replace kind of work to do. But quite some more tricky stuff
which I couldn't figure out all of.
I haven't yet got it to compile, and I got tired of it for the moment.
But I have pushed my (unfinished) work to branch "log4j-2".
Maybe we need to take another apporach. There seems to be quote some
code there which is more or less unused, like all those Appenders (why
does Chainsaw need appenders? shouldn't it receive log events?).
Maybe we should try to clean up the current codebase and remove as much
unused and obsolete stuff (stuff that will be obsolete when we have
migrated to Log4j 2) as possible before migrating?