Skip to content

Commit e928977

Browse files
committed
Exceptions raised during renaming in rotating file handlers are now passed to handleError (except for SystemExit and KeyboardInterrupt, which are re-raised).
1 parent d952041 commit e928977

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

Lib/logging/handlers.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,12 @@ def doRollover(self):
126126
dfn = self.baseFilename + ".1"
127127
if os.path.exists(dfn):
128128
os.remove(dfn)
129-
os.rename(self.baseFilename, dfn)
129+
try:
130+
os.rename(self.baseFilename, dfn)
131+
except (KeyboardInterrupt, SystemExit):
132+
raise
133+
except:
134+
pass
130135
#print "%s -> %s" % (self.baseFilename, dfn)
131136
if self.encoding:
132137
self.stream = codecs.open(self.baseFilename, 'w', self.encoding)
@@ -270,7 +275,12 @@ def doRollover(self):
270275
dfn = self.baseFilename + "." + time.strftime(self.suffix, timeTuple)
271276
if os.path.exists(dfn):
272277
os.remove(dfn)
273-
os.rename(self.baseFilename, dfn)
278+
try:
279+
os.rename(self.baseFilename, dfn)
280+
except (KeyboardInterrupt, SystemExit):
281+
raise
282+
except:
283+
pass
274284
if self.backupCount > 0:
275285
# find the oldest log file and delete it
276286
s = glob.glob(self.baseFilename + ".20*")

0 commit comments

Comments
 (0)