+1 for implementation-agnostic custom DTO tailored for Chainsaw.

On Mon, Dec 27, 2021 at 9:31 PM Matt Sicker <boa...@gmail.com> wrote:

> 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