]> granicus.if.org Git - python/commitdiff
Issue #18941: Respected delay when doing rollover.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 6 Sep 2013 09:24:08 +0000 (10:24 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 6 Sep 2013 09:24:08 +0000 (10:24 +0100)
Lib/logging/__init__.py
Lib/logging/handlers.py

index 1a622a3d074778eba4a8e105f165161975834e3c..0e8e3ddde0daf0da7f924d782df873e1c42ae42d 100644 (file)
@@ -893,6 +893,7 @@ class FileHandler(StreamHandler):
         self.baseFilename = os.path.abspath(filename)
         self.mode = mode
         self.encoding = encoding
+        self.delay = delay
         if delay:
             #We don't open the stream, but we still need to call the
             #Handler constructor to set level, formatter, lock etc.
index 8a813d3e375ef046da879642e989361e8df24a8b..c45a3132ba7b5d9ec20945f32003f4d6b164337c 100644 (file)
@@ -140,8 +140,8 @@ class RotatingFileHandler(BaseRotatingHandler):
             # Issue 18940: A file may not have been created if delay is True.
             if os.path.exists(self.baseFilename):
                 os.rename(self.baseFilename, dfn)
-            #print "%s -> %s" % (self.baseFilename, dfn)
-        self.stream = self._open()
+        if not self.delay:
+            self.stream = self._open()
 
     def shouldRollover(self, record):
         """
@@ -349,15 +349,10 @@ class TimedRotatingFileHandler(BaseRotatingHandler):
         if os.path.exists(self.baseFilename):
             os.rename(self.baseFilename, dfn)
         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():
                 os.remove(s)
-        #print "%s -> %s" % (self.baseFilename, dfn)
-        self.stream = self._open()
+        if not self.delay:
+            self.stream = self._open()
         newRolloverAt = self.computeRollover(currentTime)
         while newRolloverAt <= currentTime:
             newRolloverAt = newRolloverAt + self.interval