I agree on the generic approach. While there’s a LogEvent interface in log4j2, 
it would probably make sense for Chainsaw to define its own DTOs and such.
--
Matt Sicker

> On Dec 26, 2021, at 15:50, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> Scott has been sort of maintaining Chainsaw on his own for years. I am sure 
> he would love new energy in the project. 
> 
> I think isolating it from any logging framework implementation would be a 
> good thing.
> 
> Ralph
> 
>> On Dec 26, 2021, at 2:13 PM, Robert Middleton <rmiddle...@apache.org> wrote:
>> 
>> 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