Procházet zdrojové kódy

Use traceback.format_exc() instead of traceback.print_exc(file=io)
traceback.print_exc(file=io) was used only for Python 2.3 compat

Mike Naberezny před 10 roky
rodič
revize
43305dde9d

+ 1 - 4
supervisor/process.py

@@ -3,7 +3,6 @@ import sys
 import time
 import errno
 import shlex
-import StringIO
 import traceback
 import signal
 
@@ -428,9 +427,7 @@ class Subprocess:
         try:
             options.kill(pid, sig)
         except:
-            io = StringIO.StringIO()
-            traceback.print_exc(file=io)
-            tb = io.getvalue()
+            tb = traceback.format_exc()
             msg = 'unknown problem killing %s (%s):%s' % (self.config.name,
                                                           self.pid, tb)
             options.logger.critical(msg)

+ 2 - 1
supervisor/tests/test_process.py

@@ -783,7 +783,8 @@ class SubprocessTests(unittest.TestCase):
                          'signal SIGTERM')
         self.assertTrue(options.logger.data[1].startswith(
             'unknown problem killing test'))
-        self.assertEqual(instance.killing, 0)
+        self.assertTrue('Traceback' in options.logger.data[1])
+        self.assertFalse(instance.killing)
         self.assertEqual(len(L), 2)
         event1 = L[0]
         event2 = L[1]

+ 2 - 5
supervisor/web.py

@@ -5,7 +5,6 @@ import time
 import traceback
 import urllib
 import datetime
-import StringIO
 
 from supervisor.medusa import producers
 from supervisor.medusa.http_server import http_date
@@ -51,11 +50,9 @@ class DeferredWebProducer:
             return self.sendresponse(response)
 
         except:
-            io = StringIO.StringIO()
-            traceback.print_exc(file=io)
+            tb = traceback.format_exc()
             # this should go to the main supervisor log file
-            self.request.channel.server.logger.log('Web interface error',
-                                                  io.getvalue())
+            self.request.channel.server.logger.log('Web interface error', tb)
             self.finished = True
             self.request.error(500)
 

+ 2 - 4
supervisor/xmlrpc.py

@@ -378,10 +378,8 @@ class supervisor_xmlrpc_handler(xmlrpc_handler):
                 request.done()
 
         except:
-            io = StringIO()
-            traceback.print_exc(file=io)
-            val = io.getvalue()
-            logger.critical(val)
+            tb = traceback.format_exc()
+            logger.critical(tb)
             # internal error, report as HTTP server error
             request.error(500)