URL: https://github.com/freeipa/freeipa/pull/922
Author: tomaskrizek
 Title: #922: logging: make sure logging level is set to proper value
Action: opened

PR body:
"""
During py.test initialization, the value 'debug' is passed instead
of logging.DEBUG.

Signed-off-by: Tomas Krizek <tkri...@redhat.com>
"""

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/922/head:pr922
git checkout pr922
From 54d5797c89eaaf769b5e93b4e203105015d7de19 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkri...@redhat.com>
Date: Tue, 18 Jul 2017 16:07:12 +0200
Subject: [PATCH] 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 <tkri...@redhat.com>
---
 ipalib/plugable.py                     | 16 +---------------
 ipapython/ipa_log_manager.py           | 18 ++++++++++++++++++
 ipatests/pytest_plugins/nose_compat.py |  6 ++++--
 3 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/ipalib/plugable.py b/ipalib/plugable.py
index f6f25e833a..13efe331a9 100644
--- a/ipalib/plugable.py
+++ b/ipalib/plugable.py
@@ -461,21 +461,7 @@ def bootstrap(self, parser=None, **overrides):
             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 db38e94988..48feb6ed01 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]
+        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 8cd6b2dbe0..1fb15571f3 100644
--- a/ipatests/pytest_plugins/nose_compat.py
+++ b/ipatests/pytest_plugins/nose_compat.py
@@ -23,7 +23,7 @@
 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 emit(self, record):
                     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)
_______________________________________________
FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org
To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org

Reply via email to