Bläddra i källkod

merge a few changes from pull requests into py3 branch from master

Chris McDonough 11 år sedan
förälder
incheckning
4cb93d85ac
1 ändrade filer med 16 tillägg och 21 borttagningar
  1. 16 21
      supervisor/loggers.py

+ 16 - 21
supervisor/loggers.py

@@ -92,10 +92,10 @@ class Handler:
                 self.stream.write(msg.encode("UTF-8"))
                 self.stream.write(msg.encode("UTF-8"))
             self.flush()
             self.flush()
         except:
         except:
-            self.handleError(record)
+            self.handleError()
 
 
     #noinspection PyUnusedLocal
     #noinspection PyUnusedLocal
-    def handleError(self, record):
+    def handleError(self):
         ei = sys.exc_info()
         ei = sys.exc_info()
         traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr)
         traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr)
         del ei
         del ei
@@ -199,6 +199,17 @@ class RotatingFileHandler(FileHandler):
         FileHandler.emit(self, record)
         FileHandler.emit(self, record)
         self.doRollover()
         self.doRollover()
 
 
+    def removeAndRename(self, sfn, dfn):
+        if os.path.exists(dfn):
+            try:
+                os.remove(dfn)
+            except OSError:
+                why = sys.exc_info()[1]
+                # catch race condition (already deleted)
+                if why.args[0] != errno.ENOENT:
+                    raise
+        os.rename(sfn, dfn)
+
     def doRollover(self):
     def doRollover(self):
         """
         """
         Do a rollover, as described in __init__().
         Do a rollover, as described in __init__().
@@ -215,25 +226,9 @@ class RotatingFileHandler(FileHandler):
                 sfn = "%s.%d" % (self.baseFilename, i)
                 sfn = "%s.%d" % (self.baseFilename, i)
                 dfn = "%s.%d" % (self.baseFilename, i + 1)
                 dfn = "%s.%d" % (self.baseFilename, i + 1)
                 if os.path.exists(sfn):
                 if os.path.exists(sfn):
-                    if os.path.exists(dfn):
-                        try:
-                            os.remove(dfn)
-                        except OSError:
-                            why = sys.exc_info()[1]
-                            # catch race condition (already deleted)
-                            if why.args[0] != errno.ENOENT:
-                                raise
-                    os.rename(sfn, dfn)
+                    self.removeAndRename(sfn, dfn)
             dfn = self.baseFilename + ".1"
             dfn = self.baseFilename + ".1"
-            if os.path.exists(dfn):
-                try:
-                    os.remove(dfn)
-                except OSError:
-                    why = sys.exc_info()[1]
-                    # 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')
         self.stream = open(self.baseFilename, 'w')
 
 
 class LogRecord:
 class LogRecord:
@@ -335,7 +330,7 @@ class SyslogHandler(Handler):
                 except UnicodeError:
                 except UnicodeError:
                     syslog.syslog(msg.encode("UTF-8"))
                     syslog.syslog(msg.encode("UTF-8"))
         except:
         except:
-            self.handleError(record)
+            self.handleError()
 
 
 def getLogger(level=None):
 def getLogger(level=None):
     return Logger(level)
     return Logger(level)