You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Ralph Goers (JIRA)" <ji...@apache.org> on 2019/02/02 06:58:00 UTC

[jira] [Commented] (LOG4J2-2310) DirectWriteRolloverStrategy got wrong file name

    [ https://issues.apache.org/jira/browse/LOG4J2-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758910#comment-16758910 ] 

Ralph Goers commented on LOG4J2-2310:
-------------------------------------

Please test with 2.11.2 as this may have been fixed.

> 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
>            Priority: Critical
>         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)