summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-09-09 19:46:28 +0000
committerGerrit Code Review <review@openstack.org>2015-09-09 19:46:28 +0000
commit67387ba9cd0fe88fb5c88ed9ae9cfc35a7937389 (patch)
tree3df8f7ec3459c09431d3f5c359e4a1932e5e1d73 /openstackclient
parent1a2bb4843237102f75a44ee70bb8d6680986c6e3 (diff)
parentca9965c3282d028da52ec465d5024f16fb54ba04 (diff)
downloadpython-openstackclient-67387ba9cd0fe88fb5c88ed9ae9cfc35a7937389.tar.gz
Merge "Move options to log level out of shell.py"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/common/context.py16
-rw-r--r--openstackclient/shell.py13
-rw-r--r--openstackclient/tests/common/test_context.py11
3 files changed, 28 insertions, 12 deletions
diff --git a/openstackclient/common/context.py b/openstackclient/common/context.py
index 348c5509..70c85943 100644
--- a/openstackclient/common/context.py
+++ b/openstackclient/common/context.py
@@ -22,6 +22,22 @@ _LOG_MESSAGE_FORMAT = ('%(asctime)s.%(msecs)03d %(process)d '
_LOG_DATE_FORMAT = '%Y-%m-%d %H:%M:%S'
+def log_level_from_options(options):
+ # if --debug, --quiet or --verbose is not specified,
+ # the default logging level is warning
+ log_level = logging.WARNING
+ if options.verbose_level == 0:
+ # --quiet
+ log_level = logging.ERROR
+ elif options.verbose_level == 2:
+ # One --verbose
+ log_level = logging.INFO
+ elif options.verbose_level >= 3:
+ # Two or more --verbose
+ log_level = logging.DEBUG
+ return log_level
+
+
def set_warning_filter(log_level):
if log_level == logging.ERROR:
warnings.simplefilter("ignore")
diff --git a/openstackclient/shell.py b/openstackclient/shell.py
index d4fbc22a..0623d82d 100644
--- a/openstackclient/shell.py
+++ b/openstackclient/shell.py
@@ -113,18 +113,7 @@ class OpenStackShell(app.App):
super(OpenStackShell, self).configure_logging()
# Set logging to the requested level
- if self.options.verbose_level == 0:
- # --quiet
- log_level = logging.ERROR
- elif self.options.verbose_level == 1:
- # This is the default case, no --debug, --verbose or --quiet
- log_level = logging.WARNING
- elif self.options.verbose_level == 2:
- # One --verbose
- log_level = logging.INFO
- elif self.options.verbose_level >= 3:
- # Two or more --verbose
- log_level = logging.DEBUG
+ log_level = context.log_level_from_options(self.options)
context.set_warning_filter(log_level)
# Set the handler logging level of FileHandler(--log-file)
diff --git a/openstackclient/tests/common/test_context.py b/openstackclient/tests/common/test_context.py
index 8e1bcf83..63c24205 100644
--- a/openstackclient/tests/common/test_context.py
+++ b/openstackclient/tests/common/test_context.py
@@ -62,6 +62,17 @@ class TestContext(utils.TestCase):
context.setup_logging(shell, cloud_config)
self.assertEqual(True, shell.enable_operation_logging)
+ def test_log_level_from_options(self):
+ opts = mock.Mock()
+ opts.verbose_level = 0
+ self.assertEqual(logging.ERROR, context.log_level_from_options(opts))
+ opts.verbose_level = 1
+ self.assertEqual(logging.WARNING, context.log_level_from_options(opts))
+ opts.verbose_level = 2
+ self.assertEqual(logging.INFO, context.log_level_from_options(opts))
+ opts.verbose_level = 3
+ self.assertEqual(logging.DEBUG, context.log_level_from_options(opts))
+
@mock.patch('warnings.simplefilter')
def test_set_warning_filter(self, simplefilter):
context.set_warning_filter(logging.ERROR)