I will open a JIRA for this Kathy and then try to get a patch together. I agree this should be part of the core of Derby as it really is needed to make Derby a self maintaining system especially when being run in Network Server mode.
On Sep 6, 2013, at 4:59 PM, Katherine Marsden <[email protected]> wrote: > On 9/6/2013 5:35 AM, Bergquist, Brett wrote: >> I finally broke down and wrote RollingFileStream which provides (and >> borrows) most of the functionality of java.logger.FileHandler to provide a >> rolling file stream. Having derby.log grow forever on long running systems >> is just not acceptable anymore ;) Realistically, I would like to provide >> this back to the derby community somehow as I found many requests for such a >> feature while searching and many references to using >> "derby.stream.error.method" or "derby.stream.error.field", but no good >> implementation of such. >> >> I built a DerbyUtil.jar which the class along with a configurator class >> which can read a "derbylog.properties" file for configuration information. >> I would like to locate this file at the same place as "derby.properties" so >> the configurator needs to find out what "derby.system.home" is set to. >> Because of the default security policy installed by the network server and >> because my DerbyUtil.jar is separate, it cannot access the property. >> Create and installing my own security policy is also a bit of a pain as the >> network server is started by Glassfish and there really is not much >> opportunity to pass startup parameters. >> >> So is there someway to locate the location that "derby.ssystem.home" is >> pointing to in my class that is being invoke by "derby.stream.error.field"? > You can read the system property derby.system.home and if not set use > the property user.dir. That said, I think it would be good to > incorporate this functionality into the core product and then the > properties could go into derby.properties. It seems to me there was a > Jira issue for this, but I can't find it right now. >> >> How about a proposal that "derby.stream.error.field" can point to a static >> method that can take 0 or 1 parameters and if one parameter, it is passed >> the value of "derby.system.home" as a String. This seems to be a simple >> change and could easily be accommodated by first using reflection to find >> the method that takes 0 parameters and if not found, retry with finding the >> method that takes one string parameter? >> >> Brett >> > >
