[ 
https://issues.apache.org/jira/browse/DERBY-6350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13773187#comment-13773187
 ] 

Brett Bergquist commented on DERBY-6350:
----------------------------------------

Probably not.  Those methods are invoked under the security policy of Derby and 
any file I/O or accessing any system property is restricted by this security 
policy.  Creating and installing a different security policy is no trivial task 
for most users and might not even be possible. 

I tried going this route but in my case, Derby network server is being started 
by the Glassfish application server.  Passing in a different security policy is 
not supported when Glassfish starts Derby in this manner.  So I was left with 
changing the JVM security policy or having the code within derby.jar so that it 
would have the same security policy of Derby.

Note that this request has come up before but it seems nobody has actually got 
it to work at least not as far as I can find by searching.   The standard 
answer is "use derby.stream.error.method or use derby.stream.error.field" but 
in fact this is complicated by the fact of the security policy and is not easy 
to implement.

I think out of the box that Derby should support a rolling file log.  Derby is 
supposed to be a zero administration database and having a log file grow 
without bounds is not zero administration, at least not to me.

That being said, having Derby use the java.logger framework is desirable and in 
fact there is a JIRA for that.   If it did use that framework directly (not by 
invoking an external piece of code that will have the security policy problem 
that I mention), then the user could simply configure the 
java.logger.FileHandler directly and all would be well.   But that seems much 
more work in changing the Derby internals.


                
> Provide a rolling file implementation of derby.log
> --------------------------------------------------
>
>                 Key: DERBY-6350
>                 URL: https://issues.apache.org/jira/browse/DERBY-6350
>             Project: Derby
>          Issue Type: Improvement
>          Components: Miscellaneous
>            Reporter: Brett Bergquist
>            Priority: Minor
>              Labels: features
>         Attachments: rollingfilelog.patch.txt
>
>
> By default, derby.log grows without bounds if the derby.infolog.append 
> property is set to "true".   Setting this to "true" helps in a hands off 
> production environment to ensure that if Derby restarts, the derby.log which 
> might contain important information is not lost.  On the other hand, when set 
> the "true" the derby.log grows without bounds.  This is problematic in a long 
> running system.  
> What is really needed is the ability to have a rolling derby.log file support 
> where the maximum file size and maximum number of files can be specified.  
> Derby has the ability to configure the location of the log file (ie. 
> derby.stream.error.file) and also two methods of redirecting the error stream 
> (.ie derby.stream.error.method and derby.stream.error.field).  There is no 
> standard implementation that supports a rolling derby.log however.
> This facility should be part of the core Derby system so that it works in 
> both embedded and network server models.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to