use notify for exceptionLogged output
This commit is contained in:
parent
e79a864125
commit
f40c53c0fc
|
|
@ -3009,6 +3009,8 @@ def superFlattenShip(ship):
|
|||
#PHASE 5: flatten strong!
|
||||
return ship.flattenStrong()
|
||||
|
||||
exceptionLoggedNotify = None
|
||||
|
||||
def exceptionLogged(append=True):
|
||||
"""decorator that outputs the function name and all arguments
|
||||
if an exception passes back through the stack frame
|
||||
|
|
@ -3031,12 +3033,16 @@ def exceptionLogged(append=True):
|
|||
return nullDecorator
|
||||
|
||||
def _decoratorFunc(f, append=append):
|
||||
global exceptionLoggedNotify
|
||||
if exceptionLoggedNotify is None:
|
||||
from direct.directnotify.DirectNotifyGlobal import directNotify
|
||||
exceptionLoggedNotify = directNotify.newCategory("ExceptionLogged")
|
||||
def _exceptionLogged(*args, **kArgs):
|
||||
try:
|
||||
return f(*args, **kArgs)
|
||||
except Exception, e:
|
||||
try:
|
||||
s = 'STACK UNWIND: %s(' % f.func_name
|
||||
s = '%s(' % f.func_name
|
||||
for arg in args:
|
||||
s += '%s, ' % arg
|
||||
for key, value in kArgs.items():
|
||||
|
|
@ -3047,9 +3053,10 @@ def exceptionLogged(append=True):
|
|||
if append:
|
||||
appendStr(e, '\n%s' % s)
|
||||
else:
|
||||
print s
|
||||
exceptionLoggedNotify.info(s)
|
||||
except:
|
||||
print 'exceptionLogged(%s): ERROR IN PRINTING' % f.func_name
|
||||
exceptionLoggedNotify.info(
|
||||
'%s: ERROR IN PRINTING' % f.func_name)
|
||||
raise
|
||||
_exceptionLogged.__doc__ = f.__doc__
|
||||
return _exceptionLogged
|
||||
|
|
|
|||
Loading…
Reference in New Issue