[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [ooni-probe/master] Refactor exception logging function
commit 434cae18828435644150ac475012a1f7689936f0
Author: Arturo Filastò <art@xxxxxxxxx>
Date: Sun Nov 18 18:37:58 2012 +0100
Refactor exception logging function
* Print out the stack trace when the exception is of
twisted.python.failure.Failure type.
---
ooni/runner.py | 4 ++--
ooni/utils/log.py | 18 +++++++++++-------
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/ooni/runner.py b/ooni/runner.py
index f7fa5dc..40aa40c 100644
--- a/ooni/runner.py
+++ b/ooni/runner.py
@@ -158,8 +158,8 @@ def runTestWithInput(test_class, test_method, test_input, oreporter):
log.debug("runTestWithInput: concluded %s" % test_name)
return oreporter.testDone(test_instance, test_name)
- def test_error(error, test_instance, test_name):
- log.exception(error)
+ def test_error(failure, test_instance, test_name):
+ log.exception(failure)
test_instance = test_class()
test_instance.input = test_input
diff --git a/ooni/utils/log.py b/ooni/utils/log.py
index 6f4622d..d9b57bb 100644
--- a/ooni/utils/log.py
+++ b/ooni/utils/log.py
@@ -9,6 +9,7 @@ import traceback
import logging
from twisted.python import log as txlog
+from twisted.python.failure import Failure
from twisted.python.logfile import DailyLogFile
from ooni.utils import otime
@@ -51,13 +52,16 @@ def debug(msg, *arg, **kw):
def err(msg, *arg, **kw):
txlog.err("Error: " + str(msg), logLevel=logging.ERROR, *arg, **kw)
-def exception(msg):
- txlog.err(msg)
- exc_type, exc_value, exc_traceback = sys.exc_info()
- traceback.print_exception(exc_type, exc_value, exc_traceback)
-
-def exception(*msg):
- logging.exception(msg)
+def exception(error):
+ """
+ Error can either be an error message to print to stdout and to the logfile
+ or it can be a twisted.python.failure.Failure instance.
+ """
+ if isinstance(error, Failure):
+ error.printTraceback()
+ else:
+ exc_type, exc_value, exc_traceback = sys.exc_info()
+ traceback.print_exception(exc_type, exc_value, exc_traceback)
class LoggerFactory(object):
"""
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits