Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-1592

Log files are truncated to empty files on rollover

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None
    • Linux 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

    Description

      I am using the following config

      <Configuration status="warn" name="in.transerv" packages="">
        <Properties>
          <Property name="baseDir">/var/log/tomcat</Property>
        </Properties>
        <Appenders>
          <RollingFile name="RollingFile" fileName="${baseDir}/app.log"
                filePattern="${baseDir}/$${date:yyyy-MM}/app-%d{yyyy-MM-dd}.log.gz">
            <PatternLayout pattern="%5p %d{ISO8601} [%t][%x] %c - %m%n" />
            <TimeBasedTriggeringPolicy/>
          </RollingFile>
        </Appenders>
        <Loggers>
          <Root level="debug">
            <AppenderRef ref="RollingFile"/>
          </Root>
      </Configuration>
      

      In my Tomcat startup, I have specified the log4j.xml file as -Dlog4j.configurationFile=<path to file>

      It gets initialized properly as I see the logs coming in the app.log

      However, at midnight of each day when it is supposed to rollover, I see the following directory structure

      drwxr-xr-x 2 root root       62 Sep 18 00:00 2016-09
      -rw-r--r-- 1 root root        0 Sep 18 07:48 app.log-2016-09-18
      -rw-r--r-- 1 root root   351893 Sep 18 07:58 app.log
      

      The file for the previous day gets truncated to 0 bytes and the directory 2016-09 contains NOTHING.

      I just want to log to app.log and each day, I want to save the previous days log file as a .gz with the date pattern. But it is not happening.

      I was using log4j 1.x, I switched over to 2.x since I was having issues with log files getting corrupted (log lines disappearing) when multiple tomcat processes tried to write into the same file.

      Please help me since these logs are critical to our application. Thanks.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            farhadtarapore Farhad Tarapore
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment