Added is_debug_enabled helper

This is to allow consuming projects to avoid direct access to debug
configuration option that is defined by the library. This is in line
with general oslo guidelines about accessing oslo options from inside
consuming projects' code.

Change-Id: Ic1ae2d3f0e198ac367c1ad785f3d8dc13335282f
This commit is contained in:
Ihar Hrachyshka 2017-02-24 22:17:54 +00:00
parent 7bbd4b530a
commit 639404266f
3 changed files with 30 additions and 0 deletions

View File

@ -459,3 +459,8 @@ def get_default_log_levels():
setup.
"""
return list(_options.DEFAULT_LOG_LEVELS)
def is_debug_enabled(conf):
"""Determine if debug logging mode is enabled."""
return conf.debug

View File

@ -1591,3 +1591,23 @@ class LoggerNameTestCase(LoggerTestCase):
expected = logger_name.replace('_', '.')
l = log.getLogger(logger_name)
self.assertEqual(expected, l.logger.name)
class IsDebugEnabledTestCase(test_base.BaseTestCase):
def setUp(self):
super(IsDebugEnabledTestCase, self).setUp()
self.config_fixture = self.useFixture(
fixture_config.Config(cfg.ConfigOpts()))
self.config = self.config_fixture.config
self.CONF = self.config_fixture.conf
log.register_options(self.config_fixture.conf)
def _test_is_debug_enabled(self, debug=False):
self.config(debug=debug)
self.assertEqual(debug, log.is_debug_enabled(self.CONF))
def test_is_debug_enabled_off(self):
self._test_is_debug_enabled()
def test_is_debug_enabled_on(self):
self._test_is_debug_enabled(debug=True)

View File

@ -0,0 +1,5 @@
---
features:
- |
A new ``oslo_log.log.is_debug_enabled`` helper function is added that
allows to determine whether debug mode is enabled for logging.