this appender doesn't seem to handle TimeZones other than GMT properly. namely, when it's determining which rollover type to use, it starts with a time of 0 GMT, which is 18:00 December 31, 1969 in my timezone. the RolloverCalendar.getNextCheckDate method succeeds in the HALF_DAY case, rather than the TOP_OF_DAY case, and incorrectly determines that the log is "to be rolled at midday and midnight" instead of "at midnight" only. the file really is only rolling over once a day - i think the extra filename check in rollover () fixes this - but the type is definitely wrong.
This bug is fixed in log4j 1.2 (final). *** This bug has been marked as a duplicate of 7550 ***