This looks like a very useful addition to Derby, and I'd be happy to
document it if it's approved and integrated. Feel free to file a doc
issue when the time comes. Thanks, Brett.
Kim
On 9/19/2013 3:55 PM, Bergquist, Brett wrote:
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