Bug 55011 - No new log entries after Rolling
Summary: No new log entries after Rolling
Status: NEW
Alias: None
Product: Log4j - Now in Jira
Classification: Unclassified
Component: Appender (show other bugs)
Version: 1.2
Hardware: Sun Solaris
: P2 major
Target Milestone: ---
Assignee: log4j-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-23 12:03 UTC by Dmitry
Modified: 2013-06-11 08:02 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry 2013-05-23 12:03:59 UTC
Logs are not written to new .log file after an old one was rolled by RollingFileAppender. Several messages appear in the new file, with a last entry timestamp nearly identical to log.gz file creation time and that is all. Logging resumes after tomcat restart.
This only happens to server.log file, specified in config below. Others work fine.

Log4j version - 1.2.16
Tomcat version - 7.0.23

Log4j config:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

     <!-- File Appender -->
     <appender name="FILE" class="org.apache.log4j.rolling.RollingFileAppender">
          <param name="Append" value="true" />
          <param name="File" value="${catalina.base}/logs/server.log" />
          <rollingPolicy class="com.logging.AgingTimeBasedRollingFilePolicy">
               <param name="fileNamePattern" value="${catalina.base}/logs/archive/server.%d{yyyy-MM-dd}.log.gz" />
               <param name="keepFilesForDays" value="30" />
          </rollingPolicy> 
          <layout class="com.logging.jboss.WebappAwarePattern">
               <param name="ConversionPattern" value="%d{ISO8601}{${server.localTimezone}} %p [%X{webapp}:%c{2}] %m%n" />
          </layout>
     </appender>
     
     <!-- Console Appender -->
     <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      
          <param name="Target" value="System.out" />
          <layout class="com.logging.jboss.WebappAwarePattern">
               <param name="ConversionPattern" value="%d{ISO8601}{${server.localTimezone}} %p [%X{webapp}:%c] %m%n" />
          </layout>
     </appender>
     
    <!-- Audit File Appender -->
    <appender name="AUDIT-FILE" class="org.apache.log4j.RollingFileAppender">
        <param name="Append" value="true" />
        <param name="File" value="${catalina.base}/logs//audit.log" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="com.logging.jboss.WebappAwarePattern">
             <param name="ConversionPattern" value="%m%n" />
        </layout>
    </appender>

    <!-- Perf4J appenders -->
    <appender name="CoalescingStatistics" class="org.perf4j.log4j.AsyncCoalescingStatisticsAppender">
        <!-- 600000ms = 10 minutes -->
        <param name="TimeSlice" value="600000"/>
        <appender-ref ref="PERFFILE"/>
    </appender>
    
    <!-- This file appender is used to output aggregated performance statistics -->
    <appender name="PERFFILE" class="org.apache.log4j.rolling.RollingFileAppender">
        <param name="Append" value="true" />
        <param name="File" value="${catalina.base}/logs/performance.log" />
        <rollingPolicy class="com.logging.AgingTimeBasedRollingFilePolicy">
            <param name="fileNamePattern" value="${catalina.base}/logs/archive/performance.%d{yyyy-MM-dd}.log.gz" />
            <param name="keepFilesForDays" value="30" />
        </rollingPolicy>
        <layout class="com.logging.jboss.WebappAwarePattern">
            <param name="ConversionPattern" value="%d{ISO8601}{${server.localTimezone}} %p [%X{webapp}:%c{2}] %throwable{0} %m%n" />
        </layout>
    </appender>
    
    <logger name="AUDIT_LOG" additivity="false">
        <level value="TRACE"/>
        <appender-ref ref="AUDIT-FILE"/>
    </logger>
    
    <logger name="org.perf4j.TimingLogger" additivity="false">
        <level value="INFO"/>
        <appender-ref ref="CoalescingStatistics"/>
    </logger>
    ...
     <!-- Anything else is logged as INFO -->
     <root>
          <priority value="INFO" />
          <appender-ref ref="FILE" />
     </root>
</log4j:configuration>
Comment 1 Timofey Volkov 2013-06-11 08:02:24 UTC
Dmitry, just in case:

There're also some suspicious messages at catalina.out shortly after tomcat startup:

INFO: Initializing log4j from [file:///export0/home/tomcat/appconf/log4j.xml]
log4j:WARN Unrecognized element rollingPolicy
log4j:WARN Please set a rolling policy for the RollingFileAppender named 'PERFFILE'
log4j:WARN Unrecognized element rollingPolicy
log4j:WARN Please set a rolling policy for the RollingFileAppender named 'FILE'

And when the actual log messages should print, I see the following:

log4j:ERROR No output stream or file set for the appender named [FILE].
log4j:ERROR No output stream or file set for the appender named [PERFFILE].