I've been looking into Chainsaw to remove Log4j1, since that is rather
obsolete at this point.  Unfortunately, Chainsaw is closely tied to
Log4j1, as it seems that what happens is when it receives events from
a source, it sends the messages to a custom LoggerRepository with a
custom appender that will then show the log messages.

There are also a handful of classes from the log4j1 extras package
that are used as well, such as Rule.

It seems to me that the proper way to do this then is to:
* Copy any of the log4j1 extras classes we need into Chainsaw
* Define an internal representation of log messages so that we don't
depend on the log4j1 LoggingEvent class(perhaps a modified version of
the log4j1 LoggingEvent)
* Refactor the code so that when a log event comes in, we simply push
it to whatever tab we want to see it on, instead of indirectly via
log4j1.
* Create a custom Appender for log4j2 so that we can still see
internal Chainsaw messages within Chainsaw, and convert internal log
messages to log4j2.

Thoughts?

-Robert Middleton

Reply via email to