diff --git a/avocado/utils/stacktrace.py b/avocado/utils/stacktrace.py index 3c9f8a07feb4c1183f46259373818743c4560ef5..6221a95ad66ddf775b9fe9934ae39362ad8adf87 100644 --- a/avocado/utils/stacktrace.py +++ b/avocado/utils/stacktrace.py @@ -32,17 +32,18 @@ def log_exc_info(exc_info, logger=''): Log exception info to logger_name. :param exc_info: Exception info produced by sys.exc_info() - :param logger: Name of the logger (defaults to '') + :param logger: Name or logger instance (defaults to '') """ - log = logging.getLogger(logger) - log.error('') + if isinstance(logger, basestring): + logger = logging.getLogger(logger) + logger.error('') called_from = inspect.currentframe().f_back - log.error("Reproduced traceback from: %s:%s", - called_from.f_code.co_filename, called_from.f_lineno) + logger.error("Reproduced traceback from: %s:%s", + called_from.f_code.co_filename, called_from.f_lineno) for line in tb_info(exc_info): for l in line.splitlines(): - log.error(l) - log.error('') + logger.error(l) + logger.error('') def log_message(message, logger=''): @@ -50,11 +51,12 @@ def log_message(message, logger=''): Log message to logger. :param message: Message - :param logger: Name of the logger (defaults to '') + :param logger: Name or logger instance (defaults to '') """ - log = logging.getLogger(logger) + if isinstance(logger, basestring): + logger = logging.getLogger(logger) for line in message.splitlines(): - log.error(line) + logger.error(line) def analyze_unpickable_item(path_prefix, obj):