You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by le...@apache.org on 2005/04/17 17:49:19 UTC

svn commit: r161664 - gump/branches/Gump3/pygump/python/gump/plugins/logreporter.py

Author: leosimons
Date: Sun Apr 17 08:49:19 2005
New Revision: 161664

URL: http://svn.apache.org/viewcvs?view=rev&rev=161664
Log:
Log exceptions.

* pygump/python/gump/plugins/logreporter.py: in addition to outputting log messages, make the log reporter output stack traces for all exceptions that were swallowed during the run.

Modified:
    gump/branches/Gump3/pygump/python/gump/plugins/logreporter.py

Modified: gump/branches/Gump3/pygump/python/gump/plugins/logreporter.py
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/pygump/python/gump/plugins/logreporter.py?view=diff&r1=161663&r2=161664
==============================================================================
--- gump/branches/Gump3/pygump/python/gump/plugins/logreporter.py (original)
+++ gump/branches/Gump3/pygump/python/gump/plugins/logreporter.py Sun Apr 17 08:49:19 2005
@@ -32,15 +32,26 @@
         self.log.debug(hr)
 
     def _do_visit(self, object, container=None):
+        name = getattr(object, "name", "unnamed %s" % type(object))
+        if container:
+            if hasattr(container, "name"):
+                name = "%s:%s" % (container.name, name)
+
         for attribute in dir(object):
             if attribute.endswith("_log"):
                 logmsg = getattr(object,attribute)
-                name = getattr(object, "name", "unnamed %s" % type(object))
-                if container:
-                    if hasattr(container, "name"):
-                        name = "%s:%s" % (container.name, name)
                 self.log.debug("---%s.%s----------------------------------:\n%s" % (name, attribute, logmsg))
                 self.log.debug(hr)
+
+        if hasattr(object, 'exceptions'):
+            import StringIO
+            import traceback
+            for entry in object.exceptions:
+                target = StringIO.StringIO()
+                traceback.print_tb(entry[2], file=target)
+                trace = target.getvalue()
+                target.close()
+                self.log.error("---%s--exception--%s:%s------:\n%s" % (name, entry[0], entry[1], trace))
     
     def visit_workspace(self, workspace):
         self._do_visit(workspace)