summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChangBo Guo(gcb) <eric.guo@easystack.cn>2017-02-10 19:06:38 +0800
committerChangBo Guo(gcb) <eric.guo@easystack.cn>2017-02-10 19:11:24 +0800
commit64cc27e73feadd55ba2bbaa35a795d8a96039d6a (patch)
tree566e221fda4a1ae819e25777b33d34567480ad34
parentb3b73e61e9a422a1fdec5d4b0036badaa170a39a (diff)
downloadoslo-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.py6
-rw-r--r--oslo_log/log.py20
-rw-r--r--oslo_log/tests/unit/test_log.py28
-rw-r--r--releasenotes/notes/remove-verbose-option-d0d1381e182d1be1.yaml3
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.