Commit fb03696f authored by Vinay Sajip's avatar Vinay Sajip

Issue #18941: Respected delay when doing rollover.

parent 6d7e2965
...@@ -893,6 +893,7 @@ class FileHandler(StreamHandler): ...@@ -893,6 +893,7 @@ class FileHandler(StreamHandler):
self.baseFilename = os.path.abspath(filename) self.baseFilename = os.path.abspath(filename)
self.mode = mode self.mode = mode
self.encoding = encoding self.encoding = encoding
self.delay = delay
if delay: if delay:
#We don't open the stream, but we still need to call the #We don't open the stream, but we still need to call the
#Handler constructor to set level, formatter, lock etc. #Handler constructor to set level, formatter, lock etc.
......
...@@ -140,8 +140,8 @@ class RotatingFileHandler(BaseRotatingHandler): ...@@ -140,8 +140,8 @@ class RotatingFileHandler(BaseRotatingHandler):
# Issue 18940: A file may not have been created if delay is True. # Issue 18940: A file may not have been created if delay is True.
if os.path.exists(self.baseFilename): if os.path.exists(self.baseFilename):
os.rename(self.baseFilename, dfn) os.rename(self.baseFilename, dfn)
#print "%s -> %s" % (self.baseFilename, dfn) if not self.delay:
self.stream = self._open() self.stream = self._open()
def shouldRollover(self, record): def shouldRollover(self, record):
""" """
...@@ -349,15 +349,10 @@ class TimedRotatingFileHandler(BaseRotatingHandler): ...@@ -349,15 +349,10 @@ class TimedRotatingFileHandler(BaseRotatingHandler):
if os.path.exists(self.baseFilename): if os.path.exists(self.baseFilename):
os.rename(self.baseFilename, dfn) os.rename(self.baseFilename, dfn)
if self.backupCount > 0: if self.backupCount > 0:
# find the oldest log file and delete it
#s = glob.glob(self.baseFilename + ".20*")
#if len(s) > self.backupCount:
# s.sort()
# os.remove(s[0])
for s in self.getFilesToDelete(): for s in self.getFilesToDelete():
os.remove(s) os.remove(s)
#print "%s -> %s" % (self.baseFilename, dfn) if not self.delay:
self.stream = self._open() self.stream = self._open()
newRolloverAt = self.computeRollover(currentTime) newRolloverAt = self.computeRollover(currentTime)
while newRolloverAt <= currentTime: while newRolloverAt <= currentTime:
newRolloverAt = newRolloverAt + self.interval newRolloverAt = newRolloverAt + self.interval
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment