On Sun, Oct 8, 2023, at 23:19, Scott Deboy wrote:
> I started but haven't had much time this week. The UI updates driven by
> settings changes are most of what I have left.

OK great to hear, in that case I hold myself back a little longer :)

Thanks!

>
> On Sun, Oct 8, 2023, 2:17 PM Christian Grobmeier <grobme...@apache.org>
> wrote:
>
>> geson seems to do a good job, like Jackson (same JSR).
>> I'd like to move forward with JSON format for storing properties.
>>
>> I am not sure what the status currently is, if Scott is still working on
>> it :) I could also make some kind of proposal or so for storing properties
>>
>> On Tue, Oct 3, 2023, at 01:20, Scott Deboy wrote:
>> > I think persisting to json format makes sense/would be easy to consume
>> > with tools if needed.
>> >
>> > On 10/2/23, Robert Middleton <rmiddle...@apache.org> wrote:
>> >>> OK. Do you think something based on Jackson would be good? It's JSON
>> >>> though.
>> >>
>> >> We already have a dependency on genson for JSON parsing, so if we
>> >> really want to use JSON that would make the most sense.  Commons
>> >> config can read/write XML; currently I just have it configured to do
>> >> properties files.  I think we can write our own reader/writer as well,
>> >> but ultimately I don't think that there is anything special that we
>> >> need that commons config doesn't provide us out of the box.
>> >>
>> >> -Robert Middleton
>> >>
>> >> On Mon, Oct 2, 2023 at 5:14 PM Matt Sicker <m...@musigma.org> wrote:
>> >>>
>> >>> Jackson makes for a good library here because it also supports several
>> >>> data formats (YAML, XML, HOCON, and all sorts of others, both textual
>> and
>> >>> binary) and is fairly extensible for hooking any custom serialization
>> or
>> >>> deserialization logic you need. Given the desire to avoid Java
>> >>> serialization, it is perfectly reasonable to avoid XStream as that’s
>> >>> basically Java serialization using XML with all the pitfalls that
>> entails
>> >>> (I dealt with this fairly extensively back in the Jenkins project which
>> >>> used an old fork of XStream for managing config files and state).
>> >>>
>> >>> I haven’t used Commons Configuration before, but it seems fairly
>> >>> appropriate for this sort of thing as well.
>> >>>
>> >>> > On Oct 2, 2023, at 1:43 PM, Christian Grobmeier <
>> grobme...@apache.org>
>> >>> > wrote:
>> >>> >
>> >>> > On Mon, Oct 2, 2023, at 16:15, Robert Middleton wrote:
>> >>> >> At least two reasons I can think of:
>> >>> >> 1. Xstream doesn’t work on all java versions as you saw
>> >>> >> 2. Simplify by using the commons config instead of rolling our own.
>> >>> >>
>> >>> >> Each tab should now have just one config file, the idea being that
>> you
>> >>> >> can
>> >>> >> now share config files between people.  Before each tab had at least
>> >>> >> two(maybe three) files.  One was the xml config, one was a java
>> >>> >> serialized
>> >>> >> map.  Removing the java serialization is important.
>> >>> >
>> >>> > OK. Do you think something based on Jackson would be good? It's JSON
>> >>> > though.
>> >>> >
>> >>> > From an example:
>> >>> >
>> >>> > ObjectMapper objectMapper = new ObjectMapper();
>> >>> > Car car = new Car("yellow", "renault");
>> >>> > objectMapper.writeValue(new File("target/car.json"), car);
>> >>> >
>> >>> > We could wrap this in some kind of class and make it accessible per
>> >>> > "tab" (or whatever).
>> >>> >
>> >>> >
>> >>> >>
>> >>> >> -Robert Middleton
>> >>> >>
>> >>> >> On Mon, Oct 2, 2023 at 6:12 AM Christian Grobmeier
>> >>> >> <grobme...@apache.org>
>> >>> >> wrote:
>> >>> >>
>> >>> >>>
>> >>> >>> On Mon, Oct 2, 2023, at 02:55, Robert Middleton wrote:
>> >>> >>>> Some(most?) of the settings should be saved:
>> >>> >>>>
>> >>> >>>
>> https://github.com/apache/logging-chainsaw/blob/5ccb3c8e55dffd4361c549c3bcdac3f3675f79e5/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java#L191
>> >>> >>>>
>> >>> >>>> The stuff that is commented out should just be the old saving code
>> >>> >>>> that
>> >>> >>>> used XStream to save the data out.
>> >>> >>>
>> >>> >>> You made it using this commit (thank you, its easy to track):
>> >>> >>>
>> >>> >>>
>> https://github.com/apache/logging-chainsaw/commit/75bedf98665188eef4d13e4bfbb4b0dae456f65e
>> >>> >>>
>> >>> >>> One question: why did we remove Xstream? it seem there was an
>> update
>> >>> >>> late
>> >>> >>> 2022 to address some security.
>> >>> >>> Should we just re-enable it or was there other reasons too?
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>>
>> >>> >>>> -Robert Middleton
>> >>> >>>>
>> >>> >>>> On Sun, Oct 1, 2023 at 3:39 PM Christian Grobmeier
>> >>> >>>> <grobme...@apache.org
>> >>> >>>>
>> >>> >>>> wrote:
>> >>> >>>>
>> >>> >>>>>
>> >>> >>>>> On Sun, Oct 1, 2023, at 21:28, Scott Deboy wrote:
>> >>> >>>>>> The ability to route events to tabs is a core feature in the
>> code
>> >>> >>>>>> -
>> >>> >>>>>> that's how Chainsaw log messages end up in a Chainsaw-specific
>> tab
>> >>> >>>>>> -
>> >>> >>>>>> but the ability to control that routing via a 'routing
>> expression'
>> >>> >>>>>> was
>> >>> >>>>>> nuked from app-wide preferences - another thing we should bring
>> >>> >>>>>> back.
>> >>> >>>>>>
>> >>> >>>>>> It looks like we lost a lot of prefs, both panel-level and
>> >>> >>>>>> app-wide
>> >>> >>>>> prefs.
>> >>> >>>>>
>> >>> >>>>> Yes, I think all prefs are somehow gone. At least everything that
>> >>> >>>>> is
>> >>> >>>>> writes to a file seems to be commented.
>> >>> >>>>> I didn't remove those things yet, as they seemed to big and I
>> >>> >>>>> didn't
>> >>> >>>>> understand well how they'd work or how I would test (I lack the
>> >>> >>> knowledge
>> >>> >>>>> of how the UI should operate but only see what is there now)
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>>
>> >>> >>>>>> Scott
>> >>> >>>>>>
>> >>> >>>>>> On 10/1/23, Robert Middleton <rmiddle...@apache.org> wrote:
>> >>> >>>>>>> I would say the saving/loading of settings is probably the main
>> >>> >>> thing to
>> >>> >>>>>>> fix - if I remember correctly, it kinda works at the moment.
>> Part
>> >>> >>>>>>> of
>> >>> >>>>> the
>> >>> >>>>>>> issue with what it did before was that the settings were
>> >>> >>>>>>> scattered
>> >>> >>> among
>> >>> >>>>>>> several different files with no apparent rhyme or reason, and
>> >>> >>> converting
>> >>> >>>>>>> them to one file I'm not sure if everything works.
>> >>> >>>>>>>
>> >>> >>>>>>> The one feature that I'm pretty sure doesn't exist is the
>> ability
>> >>> >>>>>>> to
>> >>> >>>>> have
>> >>> >>>>>>> multiple log messages go to one tab, but I don't think that is
>> >>> >>> critical
>> >>> >>>>> for
>> >>> >>>>>>> release.  In order to properly support that I think requires a
>> >>> >>>>>>> bit
>> >>> >>> more
>> >>> >>>>>>> planning on both the UI side(so you can know how things are
>> >>> >>>>>>> routed)
>> >>> >>> and
>> >>> >>>>> on
>> >>> >>>>>>> the back-end side(to do the actual routing).
>> >>> >>>>>>>
>> >>> >>>>>>> -Robert Middleton
>> >>> >>>>>>>
>> >>> >>>>>>> On Sun, Oct 1, 2023 at 3:14 PM Christian Grobmeier <
>> >>> >>>>> grobme...@apache.org>
>> >>> >>>>>>> wrote:
>> >>> >>>>>>>
>> >>> >>>>>>>> On Sun, Oct 1, 2023, at 20:59, Scott Deboy wrote:
>> >>> >>>>>>>>> It's great to see the contribution, thanks Christian!
>> >>> >>>>>>>>>
>> >>> >>>>>>>>> I pulled down latest master and it looks like there are some
>> UI
>> >>> >>>>>>>>> glitches we should fix - for example, resizing the logger
>> tree
>> >>> >>> pane
>> >>> >>>>>>>>> doesn't render correctly.
>> >>> >>>>>>>>>
>> >>> >>>>>>>>> As I mentioned before, I assume there are a bunch of features
>> >>> >>>>>>>>> we
>> >>> >>> lost
>> >>> >>>>>>>>> when we moved from log4j1 - some may not be critical, but I
>> >>> >>>>>>>>> think
>> >>> >>>>>>>>> persisting 'default' tab settings is pretty important if it's
>> >>> >>>>>>>>> not
>> >>> >>>>>>>>>
>> >>> >>>>>>>>> I'd like us to at least support the log4j2 zeroconf
>> >>> >>>>>>>>> functionality
>> >>> >>> as
>> >>> >>>>>>>>> well as VFSLogFilePatternReceiver.
>> >>> >>>>>>>>>
>> >>> >>>>>>>>> I'm happy to dig in - will look at latest master and
>> >>> >>>>>>>>> contribute.
>> >>> >>>>>>>>
>> >>> >>>>>>>> I would be more than glad if you could take some kind of a
>> lead
>> >>> >>> here.
>> >>> >>>>> My
>> >>> >>>>>>>> Swing-foo is long time gone and so far I just tried to clean a
>> >>> >>>>>>>> few
>> >>> >>>>> things
>> >>> >>>>>>>> or make the code more comprehensible.
>> >>> >>>>>>>>
>> >>> >>>>>>>> I will keep trying to extracting things, making classes a bit
>> >>> >>> smaller
>> >>> >>>>> if
>> >>> >>>>>>>> possible. I will closely follow what you are doing and try to
>> >>> >>>>>>>> learn
>> >>> >>>>> from
>> >>> >>>>>>>> it.
>> >>> >>>>>>>>
>> >>> >>>>>>>> Maybe, once we can persist tab settings and then release it,
>> no
>> >>> >>> matter
>> >>> >>>>>>>> how
>> >>> >>>>>>>> the rest of the cleanup is.
>> >>> >>>>>>>>
>> >>> >>>>>>>>
>> >>> >>>>>>>>>
>> >>> >>>>>>>>> Scott
>> >>> >>>>>>>>>
>> >>> >>>>>>>>> On 10/1/23, Christian Grobmeier <grobme...@apache.org>
>> wrote:
>> >>> >>>>>>>>>> Hello,
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> I am moving things around a lot. There is much refactoring
>> >>> >>>>>>>>>> that
>> >>> >>> is
>> >>> >>>>>>>> necessary
>> >>> >>>>>>>>>> alone LogPanel had ~4500 lines of code. I believe this lot
>> of
>> >>> >>> LOCs
>> >>> >>>>> is
>> >>> >>>>>>>>>> so
>> >>> >>>>>>>>>> complicated to understand that it prevents people from
>> >>> >>> contributing
>> >>> >>>>> -
>> >>> >>>>>>>> let
>> >>> >>>>>>>>>> alone Swing, but we can't change that.
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> Apart from usual refactorings, I wonder what should be the
>> >>> >>>>>>>>>> goal
>> >>> >>> of
>> >>> >>>>>>>>>> 2.2?
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> I have already upgraded some dependencies that have security
>> >>> >>> flaws.
>> >>> >>>>> 2
>> >>> >>>>>>>> more
>> >>> >>>>>>>>>> are in the pom, but they have no patched versions so far.
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> Should we add at least one feature? Is there maybe one
>> already
>> >>> >>>>>>>>>> in
>> >>> >>>>> that
>> >>> >>>>>>>>>> I
>> >>> >>>>>>>>>> missed?
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> I would appreciate it if one of the more experienced
>> >>> >>>>>>>>>> Swing-devs
>> >>> >>> here
>> >>> >>>>>>>> could
>> >>> >>>>>>>>>> advise or maybe contribute some code so we can justify a
>> >>> >>>>>>>>>> release.
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> The next question would be:
>> >>> >>>>>>>>>> How is chainsaw released at all?
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>>> Kind regards,
>> >>> >>>>>>>>>> Christian
>> >>> >>>>>>>>>>
>> >>> >>>>>>>>
>> >>> >>>>>>>
>> >>> >>>>>
>> >>> >>>
>> >>>
>> >>
>>

Reply via email to