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]>
