summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavanum Srinivas <dims@linux.vnet.ibm.com>2012-12-13 22:42:33 -0500
committerGerrit Code Review <review@openstack.org>2013-01-12 04:35:03 +0000
commit751c35b1c8ff0730883a8ccdda9b77a49fff2405 (patch)
treebbe4e6d95b6654ad5c6ba2d50cc6bbbd12c5678b
parentbd1e5a3350305cd6554ba3b0d537d670bf6b4a75 (diff)
downloadoslo-751c35b1c8ff0730883a8ccdda9b77a49fff2405.tar.gz
oslo-751c35b1c8ff0730883a8ccdda9b77a49fff2405.tar.xz
oslo-751c35b1c8ff0730883a8ccdda9b77a49fff2405.zip
Verbose should not enable debug level logging
Fixes LP #989269 Currently setting --verbose in will still allow DEBUG level message to be logged to python logger object. we need to check for --debug first (set DEBUG level), then --verbose (set INFO level) and if neither is set then set default to WARNING DocImpact Change-Id: Ic9e3cb5979b2d7283552ad3a461870373f45a239
-rw-r--r--openstack/common/cfg.py6
-rw-r--r--openstack/common/log.py6
-rw-r--r--tests/unit/test_log.py8
3 files changed, 15 insertions, 5 deletions
diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py
index 8f25c5c..a6500eb 100644
--- a/openstack/common/cfg.py
+++ b/openstack/common/cfg.py
@@ -1735,11 +1735,13 @@ class CommonConfigOpts(ConfigOpts):
BoolOpt('debug',
short='d',
default=False,
- help='Print debugging output'),
+ help='Print debugging output (set logging level to '
+ 'DEBUG instead of default WARNING level).'),
BoolOpt('verbose',
short='v',
default=False,
- help='Print more verbose output'),
+ help='Print more verbose output (set logging level to '
+ 'INFO instead of default WARNING level).'),
]
logging_cli_opts = [
diff --git a/openstack/common/log.py b/openstack/common/log.py
index d88a2c9..7fc9b83 100644
--- a/openstack/common/log.py
+++ b/openstack/common/log.py
@@ -361,10 +361,12 @@ def _setup_logging_from_conf(product_name):
datefmt=datefmt))
handler.setFormatter(LegacyFormatter(datefmt=datefmt))
- if CONF.verbose or CONF.debug:
+ if CONF.debug:
log_root.setLevel(logging.DEBUG)
- else:
+ elif CONF.verbose:
log_root.setLevel(logging.INFO)
+ else:
+ log_root.setLevel(logging.WARNING)
level = logging.NOTSET
for pair in CONF.default_log_levels:
diff --git a/tests/unit/test_log.py b/tests/unit/test_log.py
index cc032d9..a4a7915 100644
--- a/tests/unit/test_log.py
+++ b/tests/unit/test_log.py
@@ -52,13 +52,19 @@ class LoggerTestCase(test_utils.BaseTestCase):
self.config(verbose=True)
log.setup("test_is_verbose")
logger = logging.getLogger("test_is_verbose")
+ self.assertEqual(logging.INFO, logger.getEffectiveLevel())
+
+ def test_will_be_debug_if_debug_flag_set(self):
+ self.config(debug=True)
+ log.setup("test_is_debug")
+ logger = logging.getLogger("test_is_debug")
self.assertEqual(logging.DEBUG, logger.getEffectiveLevel())
def test_will_not_be_verbose_if_verbose_flag_not_set(self):
self.config(verbose=False)
log.setup("test_is_not_verbose")
logger = logging.getLogger("test_is_not_verbose")
- self.assertEqual(logging.INFO, logger.getEffectiveLevel())
+ self.assertEqual(logging.WARNING, logger.getEffectiveLevel())
def test_no_logging_via_module(self):
for func in ('critical', 'error', 'exception', 'warning', 'warn',