Support traceback info formatting
This commit is contained in:
parent
0d9e3baebc
commit
d5d3f32bf8
1 changed files with 10 additions and 3 deletions
|
@ -16,7 +16,12 @@ def formatException(err=None, format="text"):
|
||||||
import traceback
|
import traceback
|
||||||
if type(err) == Notify:
|
if type(err) == Notify:
|
||||||
return err
|
return err
|
||||||
|
elif type(err) == tuple and err[0] is not None: # Passed trackeback info
|
||||||
|
exc_type, exc_obj, exc_tb = err
|
||||||
|
err = None
|
||||||
|
else: # No trackeback info passed, get latest
|
||||||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||||
|
|
||||||
if not err:
|
if not err:
|
||||||
err = exc_obj.message
|
err = exc_obj.message
|
||||||
tb = []
|
tb = []
|
||||||
|
@ -29,6 +34,7 @@ def formatException(err=None, format="text"):
|
||||||
else:
|
else:
|
||||||
return "%s: %s in %s" % (exc_type.__name__, err, " > ".join(tb))
|
return "%s: %s in %s" % (exc_type.__name__, err, " > ".join(tb))
|
||||||
|
|
||||||
|
|
||||||
def formatStack():
|
def formatStack():
|
||||||
import inspect
|
import inspect
|
||||||
back = []
|
back = []
|
||||||
|
@ -44,13 +50,14 @@ if config.debug_gevent:
|
||||||
import logging
|
import logging
|
||||||
import gevent
|
import gevent
|
||||||
import time
|
import time
|
||||||
|
|
||||||
def testBlock():
|
def testBlock():
|
||||||
logging.debug("Gevent block checker started")
|
logging.debug("Gevent block checker started")
|
||||||
last_time = time.time()
|
last_time = time.time()
|
||||||
while 1:
|
while 1:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
if time.time()-last_time > 1.1:
|
if time.time() - last_time > 1.1:
|
||||||
logging.debug("Gevent block detected: %s" % (time.time()-last_time-1))
|
logging.debug("Gevent block detected: %s" % (time.time() - last_time - 1))
|
||||||
last_time = time.time()
|
last_time = time.time()
|
||||||
gevent.spawn(testBlock)
|
gevent.spawn(testBlock)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue