|
@@ -45,18 +45,26 @@ class RotatingFileHandler(BaseRotatingHandler):
|
|
|
self.stream.close()
|
|
|
self.stream = None
|
|
|
if self.backup_count > 0:
|
|
|
- fmt = f"%s.%0{self.placeholder}d"
|
|
|
for i in range(self.backup_count - 1, 0, -1):
|
|
|
- sfn = self.rotation_filename(fmt % (self.baseFilename, i))
|
|
|
- dfn = self.rotation_filename(fmt % (self.baseFilename, i + 1))
|
|
|
+ sfn = ("%0" + self.placeholder + "d.") % i # '%2d.'%i -> 02
|
|
|
+ sfn = sfn.join(self.baseFilename.split("."))
|
|
|
+ # sfn = "%d_%s" % (i, self.baseFilename)
|
|
|
+ # dfn = "%d_%s" % (i + 1, self.baseFilename)
|
|
|
+ dfn = ("%0" + self.placeholder + "d.") % (i + 1)
|
|
|
+ dfn = dfn.join(self.baseFilename.split("."))
|
|
|
if os.path.exists(sfn):
|
|
|
+ # print "%s -> %s" % (sfn, dfn)
|
|
|
if os.path.exists(dfn):
|
|
|
os.remove(dfn)
|
|
|
os.rename(sfn, dfn)
|
|
|
- dfn = self.rotation_filename(fmt % (self.baseFilename, 1))
|
|
|
+ dfn = (("%0" + self.placeholder + "d.") % 1).join(
|
|
|
+ self.baseFilename.split(".")
|
|
|
+ )
|
|
|
if os.path.exists(dfn):
|
|
|
os.remove(dfn)
|
|
|
- self.rotate(self.baseFilename, dfn)
|
|
|
+ # Issue 18940: A file may not have been created if delay is True.
|
|
|
+ if os.path.exists(self.baseFilename):
|
|
|
+ os.rename(self.baseFilename, dfn)
|
|
|
if not self.delay:
|
|
|
self.stream = self._open()
|
|
|
|