I'd prefer support of NIO2 over VFS, but I wouldn't be opposed to
supporting both APIs. The NIO version has the advantage of being in
java.base for Java 9+.

I'd also support a new major version of VFS using NIO2, but that's a
project in itself.

On Fri, 25 Jan 2019 at 09:52, Ralph Goers <[email protected]> wrote:
>
> I’ll look through the code over the weekend and let you know what I think it 
> would take.
>
> Ralph
>
> > On Jan 25, 2019, at 8:13 AM, Gary Gregory <[email protected]> wrote:
> >
> > My server already depends on VFS, so I do not mind the additional dep, but
> > for Log4j-Core, the dep should obviously be optional. The URL scheme could
> > be "vfs:" or it might be nicer to say somewhere "resolve using VFS" so you
> > can just use a VFS URL.
> >
> > Gary
> >
> > On Fri, Jan 25, 2019 at 8:37 AM Ralph Goers <[email protected]>
> > wrote:
> >
> >> I haven’t built direct support for using Commons VFS, but it could. There
> >> are two parts to solve. For any protocol you want to use you need to
> >> implement the protocol handler. For HTTP/S that is fairly straightforward
> >> as we just use a URLConnection. We do need a better abstraction for
> >> handling URLs though as there are probably 3 places that have similar code
> >> to deal with HTTP.
> >>
> >> Once you have a protocol handler then you need a Watcher. That should be
> >> easy to do with any VFS protocol that can tell when a file has changed.
> >>
> >> Ralph
> >>
> >>> On Jan 25, 2019, at 6:16 AM, Gary Gregory <[email protected]>
> >> wrote:
> >>>
> >>> Perhaps not for 2.11.2 which I'd rather have sooner than later (RERO):
> >>> Would any of this work allow me to plug in Apache Commons VFS in order
> >> for
> >>> Log4j to get the contents of its configuration?
> >>>
> >>> Gary
> >>>
> >>> On Fri, Jan 25, 2019 at 1:08 AM Ralph Goers <[email protected]>
> >>> wrote:
> >>>
> >>>> FYI - I have created a branch and a PR so you can take a look at the
> >>>> initial changes.
> >> https://github.com/apache/logging-log4j2/pull/253/files
> >>>>
> >>>> The summary of the changes so far are:
> >>>> Generalize Watchers so other kinds of Watchers could be implemented. An
> >>>> Http/Https Watcher was implemented.
> >>>> Enhance the Log4j Properties support to allow properties specified in
> >>>> log4j2.system.properties to be added to the Java system properties.
> >>>> Create a log4j-spring-cloud-client project to provide an enhanced
> >> version
> >>>> of Spring Cloud Config's Log4j2 integration to support
> >> If-Modified-Since.
> >>>> Added a log4j2.system.properties with a setting to cause Spring to use
> >> the
> >>>> enhanced logging system.
> >>>> Created a log4j-spring-cloud-server project that includes an enhanced
> >>>> controller using a slightly different URL from the normal controller to
> >>>> support If-Modified-Since until Spring Cloud incorporates the patches I
> >>>> submitted. I also plan to enhance this to support notifications from
> >> Spring
> >>>> Cloud Config.
> >>>> Ralph
> >>>>
> >>>>
> >>>>> On Jan 22, 2019, at 10:09 AM, Ralph Goers <[email protected]>
> >>>> wrote:
> >>>>>
> >>>>> Well…
> >>>>>
> >>>>> I have a need for the logging configuration to be cloud-enabled. i.e -
> >> I
> >>>> need for the app to be able to refresh the configuration whenever the
> >>>> logging configuration changes on a Spring Cloud Config server. So I have
> >>>> modified the FileWatcher mechanism to be more generic and implemented an
> >>>> HttpWatcher. That seems to be working except it turns out Spring Could
> >>>> Config doesn’t support If-Modified-Since when accessing a Resource. I
> >> have
> >>>> fixed that as a patch to Spring Cloud Config but haven’t finished
> >> testing
> >>>> it and then tested the HttpWatcher with it.
> >>>>>
> >>>>> I also am probably going to create either a new module or new
> >>>> sub-project in support of this so that the HttpWatcher doesn’t have to
> >>>> completely rely on polling and instead use the Spring Cloud Config
> >>>> notifications to initiate the check for whether the logging
> >> configuration
> >>>> has changed. I may also include a version of the updated
> >> ResourceController
> >>>> on the assumption that Spring may not accept the change to support
> >>>> If-Modified-Since.
> >>>>>
> >>>>> In any case, even if I just commit what I have already done it is new
> >>>> functionality so the release version would be 2.12 instead of 2.11.2.
> >>>> Although I would prefer to only put new features in the 3.0 branch it
> >> seems
> >>>> we are a long way off from being able to release that as it really
> >> needs a
> >>>> lot of work.
> >>>>>
> >>>>> So there are a couple of options.
> >>>>>
> >>>>> 1. I perform a release of 2.11.2 without any of these changes as soon
> >> as
> >>>> I can. This would be followed within a week or two with a 2.12 release
> >> that
> >>>> contains the Spring Cloud support.
> >>>>> 2. I perform the 2.12 release in a week or two when I have finished
> >>>> testing and documenting everything.
> >>>>>
> >>>>> Personally, I would prefer 2 since it saves me a half a days work, but
> >> I
> >>>> could understand if the consensus is to go for option 1.
> >>>>>
> >>>>> Ralph
> >>>>>
> >>>>>
> >>>>>
> >>>>>> On Jan 22, 2019, at 9:25 AM, Gary Gregory <[email protected]>
> >>>> wrote:
> >>>>>>
> >>>>>> Hi Ralph,
> >>>>>>
> >>>>>> Where are for 2.11.2?
> >>>>>>
> >>>>>> Gary
> >>>>>>
> >>>>>> On Mon, Nov 26, 2018 at 8:54 AM Ralph Goers <
> >> [email protected]
> >>>>>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> I did not get the release done this last weekend. I was working on
> >> the
> >>>> fix
> >>>>>>> for LOG4J2-1906 and it all works fine on my work MacBook Pro but when
> >>>> I ran
> >>>>>>> the build on my personal MacBook Pro (where I perform releases from)
> >>>> one of
> >>>>>>> the unit tests failed. I will have to look into that tonight. Once I
> >>>> have
> >>>>>>> that straightened away I will perform the release.
> >>>>>>>
> >>>>>>> Ralph
> >>>>>>>
> >>>>>>>> On Nov 20, 2018, at 4:45 PM, Gary Gregory <[email protected]>
> >>>>>>> wrote:
> >>>>>>>>
> >>>>>>>> I emailed the list about
> >>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1246
> >>>>>>>> and I wonder if this is simple to fix.
> >>>>>>>>
> >>>>>>>> Gary
> >>>>>>>>
> >>>>>>>> On Tue, Nov 20, 2018 at 9:23 AM Ralph Goers <
> >>>> [email protected]>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>> That is a distinct possibility. I will first look for low hanging
> >>>>>>> issues I
> >>>>>>>>> can resolve and then proceed with the release process. I have other
> >>>>>>> work I
> >>>>>>>>> want to do but that may be targeted at 3.0 only as they are mostly
> >>>>>>>>> enhancements.
> >>>>>>>>>
> >>>>>>>>> Ralph
> >>>>>>>>>
> >>>>>>>>>> On Nov 20, 2018, at 6:34 AM, Gary Gregory <[email protected]
> >>>
> >>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>> Hi All:
> >>>>>>>>>>
> >>>>>>>>>> There are had been rumors, rumblings, and ruminations of a 2.11.2
> >>>>>>> release
> >>>>>>>>>> over the Thanksgiving holidays. Is that a possibility?
> >>>>>>>>>>
> >>>>>>>>>> Gary
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>>>
> >>
> >>
> >>
>
>


-- 
Matt Sicker <[email protected]>

Reply via email to