I could have sworn that there was a configuration option for RollingFileAppender that rolled the file based on either a fill criteria or a time elapsed criteria or both. Am I mistaken?
On Fri, Jan 11, 2013 at 8:14 AM, Robert Sevcik (JIRA) <j...@apache.org>wrote: > > [ > https://issues.apache.org/jira/browse/LOG4NET-83?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13551218#comment-13551218] > > Robert Sevcik commented on LOG4NET-83: > -------------------------------------- > > Hi, I was thinking to submit a feature request / RFC, but this thread is > pretty much it. > > My idea was to inherit from ForwardingAppender to create a > PulsingAppender. PulsingAppender would be able to send pulse logging events > to the connected appenders with a configured time interval. > > A pulse would be a special kind of LoggingEvent - perhaps an inherit from > LoggingEvent implementing new IPulseLoggingEvent interface or just > containing some specific labeling data. > > Pulse aware appenders would be able to treat pulse events specially, for > instance carry out actions of up keep. They could silence the pulse or not > based on configuration perhaps. > > Pulse unaware appenders would simply log the pulse logging event. > > My motivation is the following scenario. A component writes an error log > very rarely, perhaps only on start-up. The error log appender does not > receive any event for months. There comes the day we need to clean the logs > up and we find the ages old error log still locked. We do not want to > restart the apps just to release a log. A tempting short-cut answer might > be to pulse-log from the application, but then you'd have to see the scale > of our systems and how hard it is to push a change through the development > cycle. > > Please let me know your thoughts. I'm willing to make a prototype. There > are concerns about the thread pool exhaustion, please elaborate. > > My prototype would make RollingFileAppender roll over, TextWriterAppender > flush, ForwardingAppenders able to stop the Pulse on Pulse. There would be > configuration available regarding whether to action on Pulse and whether to > silence the Pulse. Care would need to be taken around filtering the pulse > out or not, most likely with a new IFilter implementation > > Kind regards, Rob > > > > Allow flushing into file every X milliseconds > > --------------------------------------------- > > > > Key: LOG4NET-83 > > URL: https://issues.apache.org/jira/browse/LOG4NET-83 > > Project: Log4net > > Issue Type: New Feature > > Components: Appenders > > Affects Versions: 1.2.10 > > Environment: All > > Reporter: Tal G > > Priority: Minor > > Fix For: 1.2 Maintenance Release > > > > > > In FileAppender you can specify either immediate flush on every message > or not flushing at all. > > Immediate flushing reduces performance in 10% - 20%, but when flushing > is skipped, then it is likely that the last few log events will not be > recorded on disk when the application exits. > > I suggest adding a parameter that flushes to file every X millisecond. > In this case you will gain most of the 10%-20% performance, and you will > minimize the lost of logs when the application exits. > > -- > 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 >