Jelajahi Sumber

modify logers.py remove and rename part

dongweiming 11 tahun lalu
induk
melakukan
610ebdcefb
1 mengubah file dengan 12 tambahan dan 16 penghapusan
  1. 12 16
      supervisor/loggers.py

+ 12 - 16
supervisor/loggers.py

@@ -185,6 +185,16 @@ class RotatingFileHandler(FileHandler):
         FileHandler.emit(self, record)
         self.doRollover()
 
+    def removeAndRename(self, sfn, dfn):
+        if os.path.exists(dfn):
+            try:
+                os.remove(dfn)
+            except OSError, why:
+                # catch race condition (already deleted)
+                if why.args[0] != errno.ENOENT:
+                    raise
+        os.rename(sfn, dfn)
+
     def doRollover(self):
         """
         Do a rollover, as described in __init__().
@@ -201,23 +211,9 @@ class RotatingFileHandler(FileHandler):
                 sfn = "%s.%d" % (self.baseFilename, i)
                 dfn = "%s.%d" % (self.baseFilename, i + 1)
                 if os.path.exists(sfn):
-                    if os.path.exists(dfn):
-                        try:
-                            os.remove(dfn)
-                        except OSError, why:
-                            # catch race condition (already deleted)
-                            if why.args[0] != errno.ENOENT:
-                                raise
-                    os.rename(sfn, dfn)
+                    self.removeAndRename(sfn, dfn)
             dfn = self.baseFilename + ".1"
-            if os.path.exists(dfn):
-                try:
-                    os.remove(dfn)
-                except OSError, why:
-                    # catch race condition (already deleted)
-                    if why.args[0] != errno.ENOENT:
-                        raise
-            os.rename(self.baseFilename, dfn)
+            self.removeAndRename(self.baseFilename, dfn)
         self.stream = open(self.baseFilename, 'w')
 
 class LogRecord: