diff options
author | ChangBo Guo(gcb) <eric.guo@easystack.cn> | 2017-02-10 19:06:38 +0800 |
---|---|---|
committer | ChangBo Guo(gcb) <eric.guo@easystack.cn> | 2017-02-10 19:11:24 +0800 |
commit | 64cc27e73feadd55ba2bbaa35a795d8a96039d6a (patch) | |
tree | 566e221fda4a1ae819e25777b33d34567480ad34 | |
parent | b3b73e61e9a422a1fdec5d4b0036badaa170a39a (diff) | |
download | oslo-log-64cc27e73feadd55ba2bbaa35a795d8a96039d6a.tar.gz |
Revert "Remove 'verbose' option (again)"
This reverts commit 4d8e122878b7af1865ad6dbce05e59a7701978a2.
We still use config option verbose in many projects[1],
and this also breaks periodic-nova-py27-with-oslo-master job.
We can do this again once we clean up usages of it totally.
[1]http://codesearch.openstack.org/?q=verbose%3DTrue&i=nope&files=&repos=
Change-Id: I04f1e7446b00f6b23aec188ad56ac38dbb917817
-rw-r--r-- | oslo_log/_options.py | 6 | ||||
-rw-r--r-- | oslo_log/log.py | 20 | ||||
-rw-r--r-- | oslo_log/tests/unit/test_log.py | 28 | ||||
-rw-r--r-- | releasenotes/notes/remove-verbose-option-d0d1381e182d1be1.yaml | 3 |
4 files changed, 40 insertions, 17 deletions
diff --git a/oslo_log/_options.py b/oslo_log/_options.py index e09238a..8b10384 100644 --- a/oslo_log/_options.py +++ b/oslo_log/_options.py @@ -37,6 +37,12 @@ common_cli_opts = [ mutable=True, help='If set to true, the logging level will be set to ' 'DEBUG instead of the default INFO level.'), + cfg.BoolOpt('verbose', + short='v', + default=True, + help='If set to false, the logging level will be set to ' + 'WARNING instead of the default INFO level.', + deprecated_for_removal=True), ] logging_cli_opts = [ diff --git a/oslo_log/log.py b/oslo_log/log.py index 87448a6..80e86f5 100644 --- a/oslo_log/log.py +++ b/oslo_log/log.py @@ -232,8 +232,10 @@ def _load_log_config(log_config_append): def _mutate_hook(conf, fresh): """Reconfigures oslo.log according to the mutated options.""" + # verbose is deprecated, so I didn't make it mutable, so there's no need to + # test for it here. if (None, 'debug') in fresh: - _refresh_root_level(conf.debug) + _refresh_root_level(conf.debug, conf.verbose) if (None, 'log-config-append') in fresh: _load_log_config.old_time = 0 @@ -325,19 +327,25 @@ def _find_facility(facility): return getattr(syslog, facility) -def _refresh_root_level(debug): +def _refresh_root_level(debug, verbose): """Set the level of the root logger. - If 'debug' is True, the level will be DEBUG. Otherwise the level will be - INFO. + If 'debug' is True, the level will be DEBUG. Otherwise we look at 'verbose' + - if that is True, the level will be INFO. If neither are set, the level + will be WARNING. + + Note the 'verbose' option is deprecated. :param debug + :param verbose """ log_root = getLogger(None).logger if debug: log_root.setLevel(logging.DEBUG) - else: + elif verbose: log_root.setLevel(logging.INFO) + else: + log_root.setLevel(logging.WARNING) def _setup_logging_from_conf(conf, project, version): @@ -388,7 +396,7 @@ def _setup_logging_from_conf(conf, project, version): version=version, datefmt=datefmt, config=conf)) - _refresh_root_level(conf.debug) + _refresh_root_level(conf.debug, conf.verbose) for pair in conf.default_log_levels: mod, _sep, level_name = pair.partition('=') diff --git a/oslo_log/tests/unit/test_log.py b/oslo_log/tests/unit/test_log.py index eeaa7c3..12f04bd 100644 --- a/oslo_log/tests/unit/test_log.py +++ b/oslo_log/tests/unit/test_log.py @@ -107,6 +107,13 @@ class CommonLoggerTestsMixIn(object): self.log.info("foo", context=_fake_context()) self.assertTrue(True) # didn't raise exception + def test_will_be_verbose_if_verbose_flag_set(self): + self.config(verbose=True) + logger_name = 'test_is_verbose' + log.setup(self.CONF, logger_name) + logger = logging.getLogger(logger_name) + self.assertEqual(logging.INFO, logger.getEffectiveLevel()) + def test_will_be_debug_if_debug_flag_set(self): self.config(debug=True) logger_name = 'test_is_debug' @@ -114,12 +121,12 @@ class CommonLoggerTestsMixIn(object): logger = logging.getLogger(logger_name) self.assertEqual(logging.DEBUG, logger.getEffectiveLevel()) - def test_will_be_info_if_debug_flag_not_set(self): - self.config(debug=False) - logger_name = 'test_is_not_debug' + def test_will_not_be_verbose_if_verbose_flag_not_set(self): + self.config(verbose=False) + logger_name = 'test_is_not_verbose' log.setup(self.CONF, logger_name) logger = logging.getLogger(logger_name) - self.assertEqual(logging.INFO, logger.getEffectiveLevel()) + self.assertEqual(logging.WARN, logger.getEffectiveLevel()) def test_no_logging_via_module(self): for func in ('critical', 'error', 'exception', 'warning', 'warn', @@ -302,7 +309,8 @@ class LogLevelTestCase(BaseTestCase): levels.append(warn_level + '=WARN') levels.append(other_level + '=7') levels.append(trace_level + '=TRACE') - self.config(default_log_levels=levels) + self.config(default_log_levels=levels, + verbose=True) log.setup(self.CONF, 'testing') self.log = log.getLogger(info_level) self.log_no_debug = log.getLogger(warn_level) @@ -1059,12 +1067,14 @@ class MutateTestCase(BaseTestCase): log_root = log.getLogger(None).logger log._setup_logging_from_conf(self.CONF, 'test', 'test') self.assertEqual(False, self.CONF.debug) + self.assertEqual(True, self.CONF.verbose) self.assertEqual(log.INFO, log_root.getEffectiveLevel()) shutil.copy(paths[1], paths[0]) self.CONF.mutate_config_files() self.assertEqual(True, self.CONF.debug) + self.assertEqual(True, self.CONF.verbose) self.assertEqual(log.DEBUG, log_root.getEffectiveLevel()) @mock.patch.object(logging.config, "fileConfig") @@ -1303,12 +1313,14 @@ class LogConfigOptsTestCase(BaseTestCase): f = six.StringIO() self.CONF([]) self.CONF.print_help(file=f) - for option in ['debug', 'log-config', 'watch-log-file']: + for option in ['debug', 'verbose', 'log-config', 'watch-log-file']: self.assertIn(option, f.getvalue()) - def test_debug(self): - self.CONF(['--debug']) + def test_debug_verbose(self): + self.CONF(['--debug', '--verbose']) + self.assertEqual(True, self.CONF.debug) + self.assertEqual(True, self.CONF.verbose) def test_logging_opts(self): self.CONF([]) diff --git a/releasenotes/notes/remove-verbose-option-d0d1381e182d1be1.yaml b/releasenotes/notes/remove-verbose-option-d0d1381e182d1be1.yaml deleted file mode 100644 index 32e2306..0000000 --- a/releasenotes/notes/remove-verbose-option-d0d1381e182d1be1.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -upgrade: - - The deprecated 'verbose' option has been removed. |