From ba5f7afedca282e79fdfde0dd359028fc4111f90 Mon Sep 17 00:00:00 2001 From: Tomas Krizek Date: Jul 26 2017 13:57:56 +0000 Subject: logging: make sure logging level is set to proper value During py.test initialization, the value 'debug' is passed instead of logging.DEBUG. Signed-off-by: Tomas Krizek Reviewed-By: David Kupka --- diff --git a/ipalib/plugable.py b/ipalib/plugable.py index f6f25e8..13efe33 100644 --- a/ipalib/plugable.py +++ b/ipalib/plugable.py @@ -461,21 +461,7 @@ class API(ReadOnly): if not match: continue - value = match.group(1) - try: - level = int(value) - except ValueError: - try: - level = { - 'debug': logging.DEBUG, - 'info': logging.INFO, - 'warn': logging.WARNING, - 'warning': logging.WARNING, - 'error': logging.ERROR, - 'critical': logging.CRITICAL - }[value] - except KeyError: - raise ValueError('unknown log level (%s)' % value) + level = ipa_log_manager.convert_log_level(match.group(1)) value = getattr(self.env, attr) regexps = re.split('\s*,\s*', value) diff --git a/ipapython/ipa_log_manager.py b/ipapython/ipa_log_manager.py index db38e94..8b18094 100644 --- a/ipapython/ipa_log_manager.py +++ b/ipapython/ipa_log_manager.py @@ -181,6 +181,24 @@ def standard_logging_setup(filename=None, verbose=False, debug=False, root_logger.addHandler(console_handler) +def convert_log_level(value): + try: + level = int(value) + except ValueError: + try: + level = { + 'debug': logging.DEBUG, + 'info': logging.INFO, + 'warn': logging.WARNING, + 'warning': logging.WARNING, + 'error': logging.ERROR, + 'critical': logging.CRITICAL + }[value.lower()] + except KeyError: + raise ValueError('unknown log level (%s)' % value) + return level + + # Single shared instance of log manager log_mgr = sys.modules[__name__] diff --git a/ipatests/pytest_plugins/nose_compat.py b/ipatests/pytest_plugins/nose_compat.py index 8cd6b2d..1fb1557 100644 --- a/ipatests/pytest_plugins/nose_compat.py +++ b/ipatests/pytest_plugins/nose_compat.py @@ -23,7 +23,7 @@ import os import sys import logging -from ipapython.ipa_log_manager import Formatter +from ipapython.ipa_log_manager import Formatter, convert_log_level def pytest_addoption(parser): @@ -61,8 +61,10 @@ def pytest_configure(config): capture._capturing.resume_capturing() sys.stdout, sys.stderr = orig_stdout, orig_stderr + level = convert_log_level(config.getoption('logging_level')) + handler = LogHandler() handler.setFormatter(Formatter('[%(name)s] %(message)s')) - handler.setLevel(config.getoption('logging_level')) + handler.setLevel(level) root_logger = logging.getLogger() root_logger.addHandler(handler)