我想编写一个函数,除了引用给定的Exception
之外,基本上还会添加一个日志条目,例如
def logged_raise(exc, *args):
try:
raise exc(args)
except exc:
logging.exception(args)
# Or something more complicated, e.g. printing the
# stacktrace if loggig.isEnabledFor(logging.DEBUG)
raise
并致电logged_raise(MyException, 'some %s text', myvar)
而不是raise MyException('some %s text', myvar)
。
虽然这基本上有效,但追溯指向raise exc(args)
中的logged_raise
行,而不是logged_raise(MyException,...)
来电。这可以以某种方式修复吗?