[logback-dev] [JIRA] Created: (LBCORE-61) TimeBasedRollingPolicy can not be used with any other triggering policies

Szel Zoltan (JIRA) noreply-jira at qos.ch
Mon Oct 20 14:38:21 CEST 2008

TimeBasedRollingPolicy can not be used with any other triggering policies

                 Key: LBCORE-61
                 URL: http://jira.qos.ch/browse/LBCORE-61
             Project: logback-core
          Issue Type: Bug
            Reporter: Szel Zoltan
            Assignee: Logback dev list
            Priority: Critical

If someone would like to have a time based rolling policy with a size based triggering policy, than the user will get a NullPointerException,:
 at ch.qos.logback.core.rolling.helper.Compress.GZCompress(Compress.java:130)
	at ch.qos.logback.core.rolling.TimeBasedRollingPolicy.rollover(TimeBasedRollingPolicy.java:142)
	at ch.qos.logback.core.rolling.RollingFileAppender.rollover(RollingFileAppender.java:91)
	at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:116)
	at ch.qos.logback.core.WriterAppender.append(WriterAppender.java:124)
	at ch.qos.logback.core.AppenderBase.doAppend(AppenderBase.java:81)
	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:282)
	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:266)
	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:487)
	at ch.qos.logback.classic.Logger.filterAndLog(Logger.java:479)

The cause of this issue is the isTriggeringEvent method in the TimeBasedRollingPolicy which has a side effect, namely it prepares the file name of the file which is about to rotate. If someone uses a triggering policy other than the same TimeBasedRollingPolicy, than the isTriggeringEvent method will not be called, hence the elapsedPeriodFileName will be null, hence a null pointer exception will be thrown in the start of the compression or while renaming.

Please modify the isTriggeringEvent to not have this side effect + the rollover logic to capture the time information from the current event.

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


More information about the logback-dev mailing list