https://issues.apache.org/jira/browse/DERBY-6350

I implemented this as part of the Derby core engine.  I put my classes in:

java/engine/org/apache/derby/impl/services/stream/RollingFileStream.java

java/engine/org/apache/derby/impl/services/stream/RollingFileStreamProvider.java

As there really was not any other good place that I could find this package is 
also used for the basic error stream handling.

Once this is incorporated and derby.jar  built, it can be used by simply adding:

derby.stream.error.method=org.apache.derby.impl.services.stream.RollingFileStreamProvider.getOutputStream
derby.stream.error.rollingfile.pattern=%d/derby-%g.log
derby.stream.error.rollingfile.limit=2048000
derby.stream.error.rollingfile.count=5

To "derby.properties".  In this example, the rolling log files will appear in 
the DERBY_HOME directory and have the names derby-0.log, derby-1.log, 
derby-2.log, derby-3.log, derby-4.log (maximum count of 5 files) and will have 
a maximum size of 2048000 bytes each.

Note that this just provides the rolling error stream and the utility class 
configure and return the stream.  It uses the "derby.stream.error.method" that 
exists already to hook into the logging.

If someone could review this patch it would be much appreciated.   I know that 
unit tests need to be created to support this feature but I have not written 
any up until now.  So if someone could give me some guidance on doing so, 
again, it would be much appreciated.

It would be great to see this functionality become a standard part of Derby as 
I know there are others out there that want this:

http://stackoverflow.com/questions/1599043/limit-derby-log-file-size
http://apache-database.10148.n7.nabble.com/Derby-housekeep-function-for-derby-log-td132438.html


Reply via email to