def trace(self, kwargs):
exc_type, exc_value, exc_traceback = sys.exc_info()
stack = traceback.extract_tb(exc_traceback)
lines = []
for i, s in enumerate(stack):
filename = s.filename
l = len(filename)
shortfile = kwargs.get('shortfile', 40)
if l > shortfile:
filename = filename[filename.find('/', l - shortfile):]
line = '%-40s:%-4s %s' % (
blue() + filename, yellow() + str(s.lineno),
'|' + '-' * (i * 4) + cyan() + s.name + ':' + red() + s.line)
lines.append(line)
lines = '\n\t'.join(lines)
kwargs['extra'] = {
'trace': magenta() + str(exc_type) + ' ' + bold() + magenta() + str(exc_value) + '\n\t' + lines}
评论列表
文章目录