Issue 14267: TimedRotatingFileHandler chooses wrong file name due to daylight saving time "spring forward" (original) (raw)
As logs were rotated at midnight this morning (at the end of the day 2012-03-11), we detected that the logs were incorrectly renamed to *.log.2012-03-10, causing logs from Saturday to be overwritten. I believe this bug is related to the transition to daylight saving time, as this is the only day in recent history that this has occurred.
I have attached a script to reproduce this bug. This works reliably in the US/Pacific time zone. To run it, execute "rm foo.log* ; sudo date 03112359.55 && python logger_test.py". This will cause ten records to be logged, across the midnight boundary from 2012-03-11 23:59:55 to 2012-03-12 00:00:05.
Expected behavior: the logs from 2012-03-11 up to, but not including, 2012-03-12 00:00:00 should be written to a file named "foo.log.2012-03-11", and the remainder of the log entries should be written to "foo.log".
Actual behavior: the logs from 2012-03-11 23:59 through, but not including, 2012-03-12 00:00 are instead written to a file named "foo.log.2012-03-10", and the remainder of the log entries are written to "foo.log".
This does not happen for any other day. For example: running "sudo date 02152359.55" in the above procedure correctly names the file "foo.log.2012-02-15".