https://issues.apache.org/bugzilla/show_bug.cgi?id=50166

           Summary: DailyRollingFileAppender and FileAppender fail to
                    preserve functionality of WriterAppender.writeFooter()
           Product: Log4j
           Version: 1.2
          Platform: Macintosh
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Appender
        AssignedTo: log4j-dev@logging.apache.org
        ReportedBy: larrywes...@computer.org


1.2.14 (appears to be unchanged in 1.2.16)

When DRFA.subAppend() wants to roll over, it calls rollOver(), which calls
FileAppender.closeFile() which only closes the QuietWriter.

It does not invoke grandparent class (WriterAppender).close(), which would call
writeFooter() and reset().

So DRFA is not preserving the contract of the WriteAppender superclass.

And since rollOver() is package-private rather than protected, I cannot fix the
problem in a subclass of DRFA.

The fix appears simple: I assume the call to this.closeFile() rather than
close() is essential, but FileAppender.closeFile() could and probably should
mimic WriterAppender.close() by calling writeFooter() and reset().

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to