Rename context.py to logs.py

At one point this file contained the context for logging, but
the reason for its existence is now for logging.

Implements: blueprint logging-migration

Change-Id: I4ba42bbef97b09d31236ac8c01b6fb23827b8bee
This commit is contained in:
Terry Howe 2015-10-30 17:38:42 +09:00
parent bfebac8282
commit 05800c4722
3 changed files with 34 additions and 36 deletions

View File

@ -29,8 +29,8 @@ from cliff import help
import openstackclient import openstackclient
from openstackclient.common import clientmanager from openstackclient.common import clientmanager
from openstackclient.common import commandmanager from openstackclient.common import commandmanager
from openstackclient.common import context
from openstackclient.common import exceptions as exc from openstackclient.common import exceptions as exc
from openstackclient.common import logs
from openstackclient.common import timing from openstackclient.common import timing
from openstackclient.common import utils from openstackclient.common import utils
@ -98,7 +98,7 @@ class OpenStackShell(app.App):
def configure_logging(self): def configure_logging(self):
"""Configure logging for the app.""" """Configure logging for the app."""
self.log_configurator = context.LogConfigurator(self.options) self.log_configurator = logs.LogConfigurator(self.options)
self.dump_stack_trace = self.log_configurator.dump_trace self.dump_stack_trace = self.log_configurator.dump_trace
def run(self, argv): def run(self, argv):
@ -240,8 +240,6 @@ class OpenStackShell(app.App):
cloud=self.options.cloud, cloud=self.options.cloud,
argparse=self.options, argparse=self.options,
) )
if self.options.debug is not None:
self.options.debug = False
self.log_configurator.configure(self.cloud) self.log_configurator.configure(self.cloud)
self.dump_stack_trace = self.log_configurator.dump_trace self.dump_stack_trace = self.log_configurator.dump_trace

View File

@ -14,7 +14,7 @@
import logging import logging
import mock import mock
from openstackclient.common import context from openstackclient.common import logs
from openstackclient.tests import utils from openstackclient.tests import utils
@ -23,51 +23,51 @@ class TestContext(utils.TestCase):
def test_log_level_from_options(self): def test_log_level_from_options(self):
opts = mock.Mock() opts = mock.Mock()
opts.verbose_level = 0 opts.verbose_level = 0
self.assertEqual(logging.ERROR, context.log_level_from_options(opts)) self.assertEqual(logging.ERROR, logs.log_level_from_options(opts))
opts.verbose_level = 1 opts.verbose_level = 1
self.assertEqual(logging.WARNING, context.log_level_from_options(opts)) self.assertEqual(logging.WARNING, logs.log_level_from_options(opts))
opts.verbose_level = 2 opts.verbose_level = 2
self.assertEqual(logging.INFO, context.log_level_from_options(opts)) self.assertEqual(logging.INFO, logs.log_level_from_options(opts))
opts.verbose_level = 3 opts.verbose_level = 3
self.assertEqual(logging.DEBUG, context.log_level_from_options(opts)) self.assertEqual(logging.DEBUG, logs.log_level_from_options(opts))
def test_log_level_from_config(self): def test_log_level_from_config(self):
cfg = {'verbose_level': 0} cfg = {'verbose_level': 0}
self.assertEqual(logging.ERROR, context.log_level_from_config(cfg)) self.assertEqual(logging.ERROR, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1} cfg = {'verbose_level': 1}
self.assertEqual(logging.WARNING, context.log_level_from_config(cfg)) self.assertEqual(logging.WARNING, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 2} cfg = {'verbose_level': 2}
self.assertEqual(logging.INFO, context.log_level_from_config(cfg)) self.assertEqual(logging.INFO, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 3} cfg = {'verbose_level': 3}
self.assertEqual(logging.DEBUG, context.log_level_from_config(cfg)) self.assertEqual(logging.DEBUG, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'critical'} cfg = {'verbose_level': 1, 'log_level': 'critical'}
self.assertEqual(logging.CRITICAL, context.log_level_from_config(cfg)) self.assertEqual(logging.CRITICAL, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'error'} cfg = {'verbose_level': 1, 'log_level': 'error'}
self.assertEqual(logging.ERROR, context.log_level_from_config(cfg)) self.assertEqual(logging.ERROR, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'warning'} cfg = {'verbose_level': 1, 'log_level': 'warning'}
self.assertEqual(logging.WARNING, context.log_level_from_config(cfg)) self.assertEqual(logging.WARNING, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'info'} cfg = {'verbose_level': 1, 'log_level': 'info'}
self.assertEqual(logging.INFO, context.log_level_from_config(cfg)) self.assertEqual(logging.INFO, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'debug'} cfg = {'verbose_level': 1, 'log_level': 'debug'}
self.assertEqual(logging.DEBUG, context.log_level_from_config(cfg)) self.assertEqual(logging.DEBUG, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'bogus'} cfg = {'verbose_level': 1, 'log_level': 'bogus'}
self.assertEqual(logging.WARNING, context.log_level_from_config(cfg)) self.assertEqual(logging.WARNING, logs.log_level_from_config(cfg))
cfg = {'verbose_level': 1, 'log_level': 'info', 'debug': True} cfg = {'verbose_level': 1, 'log_level': 'info', 'debug': True}
self.assertEqual(logging.DEBUG, context.log_level_from_config(cfg)) self.assertEqual(logging.DEBUG, logs.log_level_from_config(cfg))
@mock.patch('warnings.simplefilter') @mock.patch('warnings.simplefilter')
def test_set_warning_filter(self, simplefilter): def test_set_warning_filter(self, simplefilter):
context.set_warning_filter(logging.ERROR) logs.set_warning_filter(logging.ERROR)
simplefilter.assert_called_with("ignore") simplefilter.assert_called_with("ignore")
context.set_warning_filter(logging.WARNING) logs.set_warning_filter(logging.WARNING)
simplefilter.assert_called_with("ignore") simplefilter.assert_called_with("ignore")
context.set_warning_filter(logging.INFO) logs.set_warning_filter(logging.INFO)
simplefilter.assert_called_with("once") simplefilter.assert_called_with("once")
class TestFileFormatter(utils.TestCase): class TestFileFormatter(utils.TestCase):
def test_nothing(self): def test_nothing(self):
formatter = context._FileFormatter() formatter = logs._FileFormatter()
self.assertEqual(('%(asctime)s.%(msecs)03d %(process)d %(levelname)s ' self.assertEqual(('%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s %(message)s'), formatter.fmt) '%(name)s %(message)s'), formatter.fmt)
@ -77,7 +77,7 @@ class TestFileFormatter(utils.TestCase):
os_project_name = 'projecty' os_project_name = 'projecty'
username = 'usernamey' username = 'usernamey'
options = Opts() options = Opts()
formatter = context._FileFormatter(options=options) formatter = logs._FileFormatter(options=options)
self.assertEqual(('%(asctime)s.%(msecs)03d %(process)d %(levelname)s ' self.assertEqual(('%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s [cloudy usernamey projecty] %(message)s'), '%(name)s [cloudy usernamey projecty] %(message)s'),
formatter.fmt) formatter.fmt)
@ -86,7 +86,7 @@ class TestFileFormatter(utils.TestCase):
config = mock.Mock() config = mock.Mock()
config.config = {'cloud': 'cloudy'} config.config = {'cloud': 'cloudy'}
config.auth = {'project_name': 'projecty', 'username': 'usernamey'} config.auth = {'project_name': 'projecty', 'username': 'usernamey'}
formatter = context._FileFormatter(config=config) formatter = logs._FileFormatter(config=config)
self.assertEqual(('%(asctime)s.%(msecs)03d %(process)d %(levelname)s ' self.assertEqual(('%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s [cloudy usernamey projecty] %(message)s'), '%(name)s [cloudy usernamey projecty] %(message)s'),
formatter.fmt) formatter.fmt)
@ -119,7 +119,7 @@ class TestLogConfigurator(utils.TestCase):
@mock.patch('logging.StreamHandler') @mock.patch('logging.StreamHandler')
@mock.patch('logging.getLogger') @mock.patch('logging.getLogger')
@mock.patch('openstackclient.common.context.set_warning_filter') @mock.patch('openstackclient.common.logs.set_warning_filter')
def test_init(self, warning_filter, getLogger, handle): def test_init(self, warning_filter, getLogger, handle):
getLogger.side_effect = self.loggers getLogger.side_effect = self.loggers
console_logger = mock.Mock() console_logger = mock.Mock()
@ -127,7 +127,7 @@ class TestLogConfigurator(utils.TestCase):
console_logger.setLevel = mock.Mock() console_logger.setLevel = mock.Mock()
handle.return_value = console_logger handle.return_value = console_logger
configurator = context.LogConfigurator(self.options) configurator = logs.LogConfigurator(self.options)
getLogger.assert_called_with('iso8601') # last call getLogger.assert_called_with('iso8601') # last call
warning_filter.assert_called_with(logging.WARNING) warning_filter.assert_called_with(logging.WARNING)
@ -140,12 +140,12 @@ class TestLogConfigurator(utils.TestCase):
self.assertEqual(False, configurator.dump_trace) self.assertEqual(False, configurator.dump_trace)
@mock.patch('logging.getLogger') @mock.patch('logging.getLogger')
@mock.patch('openstackclient.common.context.set_warning_filter') @mock.patch('openstackclient.common.logs.set_warning_filter')
def test_init_no_debug(self, warning_filter, getLogger): def test_init_no_debug(self, warning_filter, getLogger):
getLogger.side_effect = self.loggers getLogger.side_effect = self.loggers
self.options.debug = True self.options.debug = True
configurator = context.LogConfigurator(self.options) configurator = logs.LogConfigurator(self.options)
warning_filter.assert_called_with(logging.DEBUG) warning_filter.assert_called_with(logging.DEBUG)
self.requests_log.setLevel.assert_called_with(logging.DEBUG) self.requests_log.setLevel.assert_called_with(logging.DEBUG)
@ -153,8 +153,8 @@ class TestLogConfigurator(utils.TestCase):
@mock.patch('logging.FileHandler') @mock.patch('logging.FileHandler')
@mock.patch('logging.getLogger') @mock.patch('logging.getLogger')
@mock.patch('openstackclient.common.context.set_warning_filter') @mock.patch('openstackclient.common.logs.set_warning_filter')
@mock.patch('openstackclient.common.context._FileFormatter') @mock.patch('openstackclient.common.logs._FileFormatter')
def test_init_log_file(self, formatter, warning_filter, getLogger, handle): def test_init_log_file(self, formatter, warning_filter, getLogger, handle):
getLogger.side_effect = self.loggers getLogger.side_effect = self.loggers
self.options.log_file = '/tmp/log_file' self.options.log_file = '/tmp/log_file'
@ -165,7 +165,7 @@ class TestLogConfigurator(utils.TestCase):
mock_formatter = mock.Mock() mock_formatter = mock.Mock()
formatter.return_value = mock_formatter formatter.return_value = mock_formatter
context.LogConfigurator(self.options) logs.LogConfigurator(self.options)
handle.assert_called_with(filename=self.options.log_file) handle.assert_called_with(filename=self.options.log_file)
self.root_logger.addHandler.assert_called_with(file_logger) self.root_logger.addHandler.assert_called_with(file_logger)
@ -174,11 +174,11 @@ class TestLogConfigurator(utils.TestCase):
@mock.patch('logging.FileHandler') @mock.patch('logging.FileHandler')
@mock.patch('logging.getLogger') @mock.patch('logging.getLogger')
@mock.patch('openstackclient.common.context.set_warning_filter') @mock.patch('openstackclient.common.logs.set_warning_filter')
@mock.patch('openstackclient.common.context._FileFormatter') @mock.patch('openstackclient.common.logs._FileFormatter')
def test_configure(self, formatter, warning_filter, getLogger, handle): def test_configure(self, formatter, warning_filter, getLogger, handle):
getLogger.side_effect = self.loggers getLogger.side_effect = self.loggers
configurator = context.LogConfigurator(self.options) configurator = logs.LogConfigurator(self.options)
cloud_config = mock.Mock() cloud_config = mock.Mock()
config_log = '/tmp/config_log' config_log = '/tmp/config_log'
cloud_config.config = { cloud_config.config = {