From 060c0967dbd539fe2a218c22a5b385294e13959f Mon Sep 17 00:00:00 2001 From: Andrew Laski Date: Wed, 1 May 2013 14:29:23 -0400 Subject: Deprecate log_format and change default to None Commit 3e71cc4c8c7e08784f44c2e337a585e562b93ec5 fixed an issue with ignoring log_format, but changed the default logging formatter. This led to being unable to use the former context aware formatter without configuring log_format='' explicitly. This change sets log_format to None so that the default is a context aware formatter, but setting log_format works as intended. Additionally, since log_format is mutually exclusive with some of the other config formatting options, such as logging_default_format_string, it should be deprecated. Bug 1167388 Change-Id: I281ed7fe3448403f27a4cd318fc21915027906cc --- tests/unit/test_log.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/unit/test_log.py b/tests/unit/test_log.py index a80b872..c73f67a 100644 --- a/tests/unit/test_log.py +++ b/tests/unit/test_log.py @@ -35,11 +35,11 @@ class CommonLoggerTestsMixIn(object): '%(message)s') self.log = None - def test_handlers_have_legacy_formatter(self): + def test_handlers_have_context_formatter(self): formatters = [] for h in self.log.logger.handlers: f = h.formatter - if isinstance(f, log.LegacyFormatter): + if isinstance(f, log.ContextFormatter): formatters.append(f) self.assert_(formatters) self.assertEqual(len(formatters), len(self.log.logger.handlers)) @@ -203,9 +203,9 @@ class JSONFormatterTestCase(test_utils.BaseTestCase): self.assertTrue(data['traceback']) -class LegacyFormatterTestCase(test_utils.BaseTestCase): +class ContextFormatterTestCase(test_utils.BaseTestCase): def setUp(self): - super(LegacyFormatterTestCase, self).setUp() + super(ContextFormatterTestCase, self).setUp() self.config(logging_context_format_string="HAS CONTEXT " "[%(request_id)s]: " "%(message)s", @@ -214,7 +214,7 @@ class LegacyFormatterTestCase(test_utils.BaseTestCase): self.log = log.getLogger() self.stream = cStringIO.StringIO() self.handler = logging.StreamHandler(self.stream) - self.handler.setFormatter(log.LegacyFormatter()) + self.handler.setFormatter(log.ContextFormatter()) self.log.logger.addHandler(self.handler) self.addCleanup(self.log.logger.removeHandler, self.handler) self.level = self.log.logger.getEffectiveLevel() @@ -245,7 +245,7 @@ class ExceptionLoggingTestCase(test_utils.BaseTestCase): stream = cStringIO.StringIO() handler = logging.StreamHandler(stream) - handler.setFormatter(log.LegacyFormatter()) + handler.setFormatter(log.ContextFormatter()) exc_log.logger.addHandler(handler) self.addCleanup(exc_log.logger.removeHandler, handler) excepthook = log._create_logging_excepthook(product_name) @@ -280,7 +280,7 @@ class FancyRecordTestCase(test_utils.BaseTestCase): self.stream = cStringIO.StringIO() self.colorhandler = log.ColorHandler(self.stream) - self.colorhandler.setFormatter(log.LegacyFormatter()) + self.colorhandler.setFormatter(log.ContextFormatter()) self.colorlog = log.getLogger() self.colorlog.logger.addHandler(self.colorhandler) @@ -369,8 +369,8 @@ class LogConfigOptsTestCase(test_utils.BaseTestCase): self.assertTrue(CONF.log_config is None) self.assertTrue(CONF.log_file is None) self.assertTrue(CONF.log_dir is None) + self.assertTrue(CONF.log_format is None) - self.assertEquals(CONF.log_format, log._DEFAULT_LOG_FORMAT) self.assertEquals(CONF.log_date_format, log._DEFAULT_LOG_DATE_FORMAT) self.assertEquals(CONF.use_syslog, False) @@ -395,6 +395,21 @@ class LogConfigOptsTestCase(test_utils.BaseTestCase): CONF(['--logdir', logdir]) self.assertEquals(CONF.log_dir, logdir) + def test_log_format_overrides_formatter(self): + CONF(['--log-format', '[Any format]']) + log._setup_logging_from_conf() + logger = log._loggers[None].logger + for handler in logger.handlers: + formatter = handler.formatter + self.assertTrue(isinstance(formatter, logging.Formatter)) + + def test_default_formatter(self): + log._setup_logging_from_conf() + logger = log._loggers[None].logger + for handler in logger.handlers: + formatter = handler.formatter + self.assertTrue(isinstance(formatter, log.ContextFormatter)) + class LogConfigTestCase(test_utils.BaseTestCase): -- cgit