Beispiel #1
0
def report_(err, verbose=False):
	"""A report wrapper which reports backtraces for exceptions"""
	if hasattr(err,"report"):
		for r in err.report():
			yield r
	elif not isinstance(err,BaseException):
		yield six.text_type(err)
	elif verbose and not getattr(err,"no_backtrace",False):
		from traceback import format_stack
		p = "ERROR: "
		for l in format_exception(err).rstrip("\n").split("\n"):
			yield p+l
			p="     : "
		if hasattr(err,"cmd"):
			yield "   at: "+cmd.file+":"+six.text_type(cmd.line)
		if hasattr(err,"within"):
			for w in err.within:
				p = "   in: "
				for r in w.report(verbose):
					yield p+r
					p = "     : "
		p = "   by: "
		for rr in format_stack():
			for r in rr.rstrip("\n").split("\n"):
				yield p+r
				p = "     : "
	else:
		yield "ERROR: "+six.text_type(err)
Beispiel #2
0
def report_(err, verbose=False):
    """A report wrapper which reports backtraces for exceptions"""
    if hasattr(err, "report"):
        for r in err.report():
            yield r
    elif not isinstance(err, BaseException):
        yield six.text_type(err)
    elif verbose and not getattr(err, "no_backtrace", False):
        from traceback import format_stack
        p = "ERROR: "
        for l in format_exception(err).rstrip("\n").split("\n"):
            yield p + l
            p = "     : "
        if hasattr(err, "cmd"):
            yield "   at: " + cmd.file + ":" + six.text_type(cmd.line)
        if hasattr(err, "within"):
            for w in err.within:
                p = "   in: "
                for r in w.report(verbose):
                    yield p + r
                    p = "     : "
        p = "   by: "
        for rr in format_stack():
            for r in rr.rstrip("\n").split("\n"):
                yield p + r
                p = "     : "
    else:
        yield "ERROR: " + six.text_type(err)
Beispiel #3
0
    def log_event(self, event, level=0):
        #		if level < self.level:
        #			return

        if TESTING and int(os.environ["MOAT_TEST"]) > 1:
            self._log(None, "@ " + ixtime())
        if hasattr(event, "report"):
            for r in event.report(99):
                self._log(None, six.text_type(r))
        elif isinstance(event, BaseException):
            for l in format_exception(event).strip('\n').split('\n'):
                self._log(None, l)
        else:
            self._log(None, six.text_type(event))
        if self.dot:
            self._log(None, ".")
Beispiel #4
0
	def log_event(self, event, level=0):
#		if level < self.level:
#			return

		if TESTING and int(os.environ["MOAT_TEST"]) > 1:
			self._log(None,"@ "+ixtime())
		if hasattr(event,"report"):
			for r in event.report(99):
				self._log(None,six.text_type(r))
		elif isinstance(event,BaseException):
			for l in format_exception(event).strip('\n').split('\n'):
				self._log(None,l)
		else:
			self._log(None,six.text_type(event))
		if self.dot:
			self._log(None,".")
Beispiel #5
0
 def log_failure(self, err, level=WARN):
     if level >= self.level:
         self._wlog(LogNames[level], format_exception(err))
         if TESTING:
             self.flush()
Beispiel #6
0
	def log_failure(self, err, level=WARN):
		if level >= self.level:
			self._wlog(LogNames[level],format_exception(err))
			if TESTING:
				self.flush()