def writeBacktrace(logger, log_level=ERROR, clear=True, traceback=None, prefix=''): log_func = getLogFunc(logger, log_level) try: if not traceback: traceback = exc_info() if clear: exc_clear() traceback = formatTraceback(traceback) if traceback: for line in traceback: log_func(prefix + line.rstrip()) return err = "empty traceback" except Exception, err: pass
def writeError(error, title=u"ERROR", log_level=ERROR, logger=None, message=None, traceback=None, traceback_level=DEBUG): if not logger: logger = getLogger() if hexversion < 0x02050000 \ and error.__class__ in (SystemExit, KeyboardInterrupt): # Ignore sys.exit() and CTRL+c in: # try/except Exception, err: writeError(err, ...) # (only needed for Python 2.4) raise error log_func = getLogFunc(logger, log_level) if not message: message = formatError(error) log_func(u"%s: %s" % (title, message)) clear = bool(traceback) writeBacktrace(logger, log_level=traceback_level, clear=clear, traceback=traceback, prefix='| ')
def __init__(self, print_level): self.twisted_logger = Logger("twisted") self.stdout_logger = Logger("stdout") self.stdout_func = getLogFunc(self.stdout_logger, print_level)