diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-09-08 22:06:02 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-09-08 22:06:02 +0000 |
| commit | 1a2bb4843237102f75a44ee70bb8d6680986c6e3 (patch) | |
| tree | d7755c94167468a5bdcc731cc82d4b9c562324d0 /openstackclient | |
| parent | b4421e380244ca1c94fca27de9027829b158b6e0 (diff) | |
| parent | 9c3c33639139ab319ca6d00925b34f9293ca81af (diff) | |
| download | python-openstackclient-1a2bb4843237102f75a44ee70bb8d6680986c6e3.tar.gz | |
Merge "Move set warnings filters to logging module"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/common/context.py | 10 | ||||
| -rw-r--r-- | openstackclient/shell.py | 5 | ||||
| -rw-r--r-- | openstackclient/tests/common/test_context.py | 9 |
3 files changed, 20 insertions, 4 deletions
diff --git a/openstackclient/common/context.py b/openstackclient/common/context.py index b7b16e94..348c5509 100644 --- a/openstackclient/common/context.py +++ b/openstackclient/common/context.py @@ -14,6 +14,7 @@ """Context and Formatter""" import logging +import warnings _LOG_MESSAGE_FORMAT = ('%(asctime)s.%(msecs)03d %(process)d ' '%(levelname)s %(name)s [%(clouds_name)s ' @@ -21,6 +22,15 @@ _LOG_MESSAGE_FORMAT = ('%(asctime)s.%(msecs)03d %(process)d ' _LOG_DATE_FORMAT = '%Y-%m-%d %H:%M:%S' +def set_warning_filter(log_level): + if log_level == logging.ERROR: + warnings.simplefilter("ignore") + elif log_level == logging.WARNING: + warnings.simplefilter("ignore") + elif log_level == logging.INFO: + warnings.simplefilter("once") + + def setup_handler_logging_level(handler_type, level): """Setup of the handler for set the logging level diff --git a/openstackclient/shell.py b/openstackclient/shell.py index 01d6ce8a..d4fbc22a 100644 --- a/openstackclient/shell.py +++ b/openstackclient/shell.py @@ -20,7 +20,6 @@ import getpass import logging import sys import traceback -import warnings from cliff import app from cliff import command @@ -117,18 +116,16 @@ class OpenStackShell(app.App): if self.options.verbose_level == 0: # --quiet log_level = logging.ERROR - warnings.simplefilter("ignore") elif self.options.verbose_level == 1: # This is the default case, no --debug, --verbose or --quiet log_level = logging.WARNING - warnings.simplefilter("ignore") elif self.options.verbose_level == 2: # One --verbose log_level = logging.INFO - warnings.simplefilter("once") elif self.options.verbose_level >= 3: # Two or more --verbose log_level = logging.DEBUG + context.set_warning_filter(log_level) # Set the handler logging level of FileHandler(--log-file) # and StreamHandler diff --git a/openstackclient/tests/common/test_context.py b/openstackclient/tests/common/test_context.py index 145546a3..8e1bcf83 100644 --- a/openstackclient/tests/common/test_context.py +++ b/openstackclient/tests/common/test_context.py @@ -62,6 +62,15 @@ class TestContext(utils.TestCase): context.setup_logging(shell, cloud_config) self.assertEqual(True, shell.enable_operation_logging) + @mock.patch('warnings.simplefilter') + def test_set_warning_filter(self, simplefilter): + context.set_warning_filter(logging.ERROR) + simplefilter.assert_called_with("ignore") + context.set_warning_filter(logging.WARNING) + simplefilter.assert_called_with("ignore") + context.set_warning_filter(logging.INFO) + simplefilter.assert_called_with("once") + class Test_LogContext(utils.TestCase): def setUp(self): |
