classification
Title: TimedRotatingFileHandler names files incorrectly if nothing is logged during an interval
Type: behavior Stage:
Components: Library (Lib) Versions: Python 2.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: vinay.sajip Nosy List: ceder, vinay.sajip
Priority: normal Keywords:

Created on 2008-03-17 08:17 by ceder, last changed 2008-04-02 21:12 by vinay.sajip. This issue is now closed.

Files
File name Uploaded Description Edit
badlogger.py ceder, 2008-03-17 08:20 Sample program.
Messages (3)
msg63624 - (view) Author: Per Cederqvist (ceder) Date: 2008-03-17 08:17
If nothing is logged during an interval, the TimedRotatingFileHandler
will give bad names to future log files.

The enclosed example program sets up a logger that rotates the log every
second.  It then logs a few messages with sleep of 1, 2, 4, 1 and 1
seconds between the messages.  The log files will have names that
increase with one second per log file, but the content for the last file
will be generated a different second.

An example run produced the message

  2008-03-17 09:16:06: 1 sec later

in a log file named badlogdir/logfile.2008-03-17_09-16-02.

This problem was likely introduced in revision 42066.  The root cause is
that self.rolloverAt is increased by self.interval in doRollover - but
if nothing was logged for a while, it should be increased by a multiple
of self.interval.
msg63625 - (view) Author: Per Cederqvist (ceder) Date: 2008-03-17 08:20
The attached program will generate log messages with a timestamp that
are logged into a file with an unexpected extension.

To run:

  mkdir badlogdir
  python badlogger.py

Running the program takes about 9 seconds.
msg64880 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2008-04-02 21:12
Updated SVN, but not backported to 2.5 or earlier maintenance branches.
History
Date User Action Args
2008-04-02 21:12:55vinay.sajipsetstatus: open -> closed
resolution: fixed
messages: + msg64880
2008-03-17 19:26:37georg.brandlsetassignee: vinay.sajip
nosy: + vinay.sajip
2008-03-17 08:21:45cedersettype: behavior
components: + Library (Lib)
versions: + Python 2.5
2008-03-17 08:20:36cedersetfiles: + badlogger.py
messages: + msg63625
2008-03-17 08:17:54cedercreate