You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "André Pinto (Jira)" <ji...@apache.org> on 2020/03/09 13:21:00 UTC
[jira] [Commented] (LOG4J2-2804) RollingRandomAccessFile uses wrong
time for filename
[ https://issues.apache.org/jira/browse/LOG4J2-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17054949#comment-17054949 ]
André Pinto commented on LOG4J2-2804:
-------------------------------------
Using currentTime for formatFileName calls in https://github.com/apache/logging-log4j2/blob/master/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java seems to provide the expected behaviour for both time based and size based roll overs. Not really sure why currentTime is not being used at the moment so I don't know if it would break something else.
> RollingRandomAccessFile uses wrong time for filename
> ----------------------------------------------------
>
> Key: LOG4J2-2804
> URL: https://issues.apache.org/jira/browse/LOG4J2-2804
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.13.1
> Reporter: André Pinto
> Priority: Major
>
> When there are both size based and time based triggering policies, if the size based policy is triggered, the file is named as if the time based policy was triggered.
> Example config:
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="WARN" name="Mux">
> <Properties>
> <Property name="LOG_DIR">logs</Property>
> </Properties>
> <Appenders>
> <Console name="Console" target="SYSTEM_OUT"/>
> <RollingRandomAccessFile name="main" fileName="${LOG_DIR}/main-current.log-active"
> filePattern="${LOG_DIR}/main-%d{yyyy-MM-dd-HH.mm.ss}.log"
> ignoreExceptions="false" immediateFlush="false"
> bufferSize="1048576">
> <PatternLayout>
> <Pattern>%m\n</Pattern>
> </PatternLayout>
> <Policies>
> <SizeBasedTriggeringPolicy size="256 B" />
> <TimeBasedTriggeringPolicy interval="3600" />
> </Policies>
> <DefaultRolloverStrategy fileIndex="nomax" />
> </RollingRandomAccessFile>
> </Appenders>
> <Loggers>
> <Root level="OFF">
> <AppenderRef ref="Console" />
> </Root>
> <Logger name="main" level="ALL" additivity="false">
> <AppenderRef ref="main"/>
> </Logger>
> </Loggers>
> </Configuration>
> {code}
> With this configuration if I start writing log entries to the "main" logger at 2020-03-09 13:00.00 and immediately trigger the SizeBasedTriggeringPolicy (256 bytes), the name of the file that is rolled over will be:
> main-2020-03-09-14.00.00
> as if the rollover operation had been triggered by the time policy.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)