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