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

Szel Zoltan (JIRA) noreply-jira at qos.ch
Thu Jul 23 10:37:10 CEST 2009


    [ http://jira.qos.ch/browse/LBCORE-61?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11251#action_11251 ] 

Szel Zoltan commented on LBCORE-61:
-----------------------------------

One of our use case is to be able to run post processing tools on log files. There are a couple of application in the company which produces huge amount of logs. We want to control the size of the log files so post processing tools will be able to handle them and also having the timestamp in the file name helps to determinate which business day that log file belongs to.

> 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: Ceki Gulcu
>            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.
> Thanks,
> Zoltan

-- 
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