import traceback import sys try: import StringIO except: import io as StringIO #Python 3.0 class Log: def __init__(self): self._contents = [] def add_content(self, *content): self._contents.append(' '.join(content)) def add_exception(self): s = StringIO.StringIO() exc_info = sys.exc_info() traceback.print_exception(exc_info[0], exc_info[1], exc_info[2], limit=None, file=s) self._contents.append(s.getvalue()) def get_contents(self): return '\n'.join(self._contents) def clear_log(self): del self._contents[:]