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?

Reply via email to