BailinSong created LOG4J2-2310:
----------------------------------

             Summary: DirectWriteRolloverStrategy got wrong file name
                 Key: LOG4J2-2310
                 URL: https://issues.apache.org/jira/browse/LOG4J2-2310
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders, Pattern Converters
    Affects Versions: 2.10.0
         Environment: * OS: windows10 x64
 * JDK:1.8.0.101 x64
 * log4j-api:2.10.0
 * log4j-core:2.10.0
 * logger use "_Data_"
 * Interval 100 milliseconds to insert a piece of data

_log4j2.xml:_
{code:java}
<configuration status="TRACE" monitorInterval="10" >
    <properties>
        <property name="LOG_HOME">.</property>
    </properties>
    <appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level - 
%msg%n"/>
        </Console>
        <RollingFile name="Datalog"
                     
filePattern="./logs/$${date:yyyy-MM}/warn_%d{yyyyMMddHH}.log">
            <!--<ThresholdFilter level="info" onMatch="ACCEPT" 
onMismatch="DENY"/>-->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!--<SizeBasedTriggeringPolicy size="100 MB"/>-->
            </Policies>
            <DirectWriteRolloverStrategy>
                <Delete basePath="./logs/" maxDepth="2">
                    <IfFileName glob="*/warn_*.log" />
                    <IfLastModified age="6M"/>
                </Delete>
            </DirectWriteRolloverStrategy>
        </RollingFile>
    </appenders>
    <loggers>
        <Logger name="Data" level="info" additivity="false">
            <AppenderRef ref="Datalog"/>
        </Logger>
        <Root level="info">
            <AppenderRef ref="STDOUT"/>
        </Root>
    </loggers>
</configuration>
{code}
            Reporter: BailinSong
         Attachments: log4j2-TRACE.log

PatternProcessor.currentFileTime always 0L causes always use 
PatternProcessor.prevFileTiem as rolling filePattern name.
{code:java}
2018-04-08 10:20:46,504 main DEBUG Now writing to 
./logs/2018-04/warn_2018040810.log at 2018-04-08T10:20:46.504+0800
2018-04-08 11:00:00,079 main DEBUG Now writing to 
./logs/2018-04/warn_2018040810.log at 2018-04-08T11:00:00.079+0800
2018-04-08 12:00:00,284 main DEBUG Now writing to 
./logs/2018-04/warn_2018040811.log at 2018-04-08T12:00:00.284+0800
{code}
stack:
{code:java}
formatFileName:269, PatternProcessor 
(org.apache.logging.log4j.core.appender.rolling)
getCurrentFileName:318, DirectWriteRolloverStrategy 
(org.apache.logging.log4j.core.appender.rolling)
getFileName:200, RollingFileManager 
(org.apache.logging.log4j.core.appender.rolling)
createOutputStream:186, FileManager (org.apache.logging.log4j.core.appender)
createFileAfterRollover:324, RollingFileManager 
(org.apache.logging.log4j.core.appender.rolling)
rollover:316, RollingFileManager 
(org.apache.logging.log4j.core.appender.rolling)
checkRollover:252, RollingFileManager 
(org.apache.logging.log4j.core.appender.rolling)
append:307, RollingFileAppender (org.apache.logging.log4j.core.appender)
tryCallAppender:156, AppenderControl (org.apache.logging.log4j.core.config)
callAppender0:129, AppenderControl (org.apache.logging.log4j.core.config)
callAppenderPreventRecursion:120, AppenderControl 
(org.apache.logging.log4j.core.config)
callAppender:84, AppenderControl (org.apache.logging.log4j.core.config)
callAppenders:448, LoggerConfig (org.apache.logging.log4j.core.config)
processLogEvent:433, LoggerConfig (org.apache.logging.log4j.core.config)
log:417, LoggerConfig (org.apache.logging.log4j.core.config)
log:403, LoggerConfig (org.apache.logging.log4j.core.config)
log:63, AwaitCompletionReliabilityStrategy 
(org.apache.logging.log4j.core.config)
logMessage:146, Logger (org.apache.logging.log4j.core)
tryLogMessage:2163, AbstractLogger (org.apache.logging.log4j.spi)
logMessageTrackRecursion:2118, AbstractLogger (org.apache.logging.log4j.spi)
logMessageSafely:2101, AbstractLogger (org.apache.logging.log4j.spi)
logMessage:2012, AbstractLogger (org.apache.logging.log4j.spi)
logIfEnabled:1883, AbstractLogger (org.apache.logging.log4j.spi)
info:184, Log4jLogger (org.apache.logging.slf4j)
main:10, Log4j2Test
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to