
[ http://jira.qos.ch/browse/LBCORE-147?page=com.atlassian.jira.plugin.system.i... ] Greg Thomas commented on LBCORE-147: ------------------------------------ Some comments; 1. "it is sufficient to perform deletion of files in the said range only once, when the application starts" - what happens if the application is running but idle? Is there a thread that runs at midnight to rollover an empty file? (That's not what I'm seeing in logback 0.9.20, but I recognise I'm a bit behind on my versioning). Or does rollover only happen when a logging action occurs. If the latter, then you'll need to delete the files on application start *and* when a log file rolls over. However, in the latter case logback can know the value of Q, optimising things somewhat. 2. Perhaps make maxQ dependent on the rollover period, on the assumption that the more regularly you are rolling the more frequent you expect the logs to appear. e.g. something like If rolling monthly, maxQ = 1 year/12 files If rolling daily, maxQ = 60 days/60 files If rolling hourly, maxQ = 7 days/168 files 3. A variant on that - why not just make maxQ 60 rollovers. So ... If rolling monthly, maxQ = 60 months/5 years If rolling daily, maxQ = 60 days If rolling hourly, maxQ = 60 hours/2.5 days 4. Or make maxQ configurable - as I suggested on 21 Feb ("maxHistoryGap" is, I think the same as maxQ). 5. Although you suggest that a separate thread is overkill, checking/deleting multiple files *will* be slower than just deleting the one as currently occurs. I still think that doing it in a separate thread created at application start and each log file rollover would be better - to enable control to be returned to the application ASAP.
RollingPolicy MaxHistory not deleting old files -----------------------------------------------
Key: LBCORE-147 URL: http://jira.qos.ch/browse/LBCORE-147 Project: logback-core Issue Type: Bug Components: Rolling Affects Versions: 0.9.18 Environment: linux 2.6.18 64bits apache-tomcat-6.0.20 java/jre1.6.0_18 Reporter: Rafael Diaz Maurin Assignee: Ceki Gulcu Attachments: TimeBasedRollingWithArchiveRemovalTest.java
The MaxHistory does not do the trick : the old files are not deleted at all : cat logging.xml <appender name="IDP_ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>/shibboleth-idp/logs/idp-access.log</File> <Append>false</Append> <ImmediateFlush>true</ImmediateFlush> <RollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>/shibboleth-idp/logs/old/idp-access-%d{yyyy-MM-dd_HH-mm}.log.gz</FileNamePattern> <MaxHistory>3</MaxHistory> </RollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%msg%n</Pattern> </layout> </appender>
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira