When I looked at this several years ago I got the impression that the API would use java.nio.FileSystem and java.nio.FileStore and that the VFS api would disappear. All the VFS stuff would just be reworked to leverage the new API.
Ralph > On Jan 25, 2019, at 12:55 PM, Gary Gregory <[email protected]> wrote: > > On Fri, Jan 25, 2019 at 2:51 PM Matt Sicker <[email protected]> wrote: > >> 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+. >> > > Except that NIO2 support for other file systems is nothing like what we > have in VFS... > > >> >> I'd also support a new major version of VFS using NIO2, but that's a >> project in itself. >> > > I like the idea but it is not clear to me that the APIs are equivalent > feature-wise, I've not compared... > > Gary > > >> 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]> >>
