[
https://issues.apache.org/jira/browse/LOG4J2-3643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17649848#comment-17649848
]
Ralph Goers commented on LOG4J2-3643:
-------------------------------------
The rolling appenders are already overly complicated and every change causes us
to play Whack-A-Mole. The premise of the rolling policies are that the time
should ONLY be updated when it is triggered by a time-based rollover.
Intermediate rollovers should increment the counter. We have fixed many bugs
since 2.8.2 so it is no surprise it wasn't working properly in that version.
If you want the time to be updated in the file name on every rollover than use
${date} instead of %d.
> RollingFile, Cron and SizeBased Triggers: Wrong time in names of archives
> -------------------------------------------------------------------------
>
> Key: LOG4J2-3643
> URL: https://issues.apache.org/jira/browse/LOG4J2-3643
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.19.0
> Reporter: Ivan Rosinskii
> Priority: Major
>
> We are upgrading log4j2 from 2.8.2 to 2.19.0 and found this issue:
> Archives of log files always contain time from Cron trigger even they were
> archived by SizeBased trigger
> *Example:*
> _RollingFile pattern:_ %d\{yyyyMMddHHmm}-%i.gz
> _Cron expression:_ 0 0 0 * * ?
> _Archive:_ common.log-202212190000-1.gz
> _Created time:_ 2022-12-19 12:54
>
> *Config for testing:*
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration>
> <Properties>
> <Property name="log.directory">log</Property>
> <Property name="appender.common.log_file_name">common.log</Property>
> <Property
> name="pattern.rolling.default">-%d{yyyyMMddHHmm}-%i.gz</Property>
> <Property name="pattern.layout.default">%d{yyyy-MM-dd HH:mm:ss:SSS} %-5p
> <%threadGroupName> {%t} [%c{1}] %m %n</Property>
> <Property name="appender.default.cron_trigger_expression">0 0 0 * *
> ?</Property>
> </Properties>
> <Appenders>
> <RollingFile name="APPENDER_COMMON"
> fileName="${log.directory}/${appender.common.log_file_name}"
>
> filePattern="${log.directory}/${appender.common.log_file_name}${pattern.rolling.default}">
> <PatternLayout pattern="${pattern.layout.default}"/>
> <Policies>
> <CronTriggeringPolicy
> schedule="${appender.default.cron_trigger_expression}"/>
> <SizeBasedTriggeringPolicy size="1MB"/>
> </Policies>
> <DefaultRolloverStrategy>
> <Delete basePath="${log.directory}">
> <IfFileName glob="${appender.common.log_file_name}*.gz">
> <IfAny>
> <IfLastModified age="90d"/>
> <IfAccumulatedFileCount exceeds="4000"/>
> </IfAny>
> </IfFileName>
> </Delete>
> </DefaultRolloverStrategy>
> </RollingFile>
> </Appenders>
> <Loggers>
> <Root level="TRACE">
> <AppenderRef ref="APPENDER_COMMON"/>
> </Root>
> </Loggers>
> </Configuration>{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)