From: Ɓukasz Langa Date: Thu, 19 Oct 2017 00:28:51 +0000 (-0700) Subject: bpo-31457: Make the `LoggerAdapter.manager` property settable (#4042) X-Git-Tag: v3.7.0a3~344 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b6a118a45ac2eded1348fea6ed300d5651f7471;p=python bpo-31457: Make the `LoggerAdapter.manager` property settable (#4042) Due to a bug in the initial fix, the setter was in fact creating a different property. This is now fixed. --- diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index b941eab97d..7544190660 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -1757,7 +1757,7 @@ class LoggerAdapter(object): return self.logger.manager @manager.setter - def set_manager(self, value): + def manager(self, value): self.logger.manager = value def __repr__(self): diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index fb0de9de04..583394cc73 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -3982,12 +3982,25 @@ class LoggerAdapterTest(unittest.TestCase): msg = 'Adapters can be nested, yo.' adapter_adapter = logging.LoggerAdapter(logger=self.adapter, extra=None) adapter_adapter.log(logging.CRITICAL, msg, self.recording) - self.assertEqual(len(self.recording.records), 1) record = self.recording.records[0] self.assertEqual(record.levelno, logging.CRITICAL) self.assertEqual(record.msg, msg) self.assertEqual(record.args, (self.recording,)) + orig_manager = adapter_adapter.manager + self.assertIs(self.adapter.manager, orig_manager) + self.assertIs(self.logger.manager, orig_manager) + temp_manager = object() + try: + adapter_adapter.manager = temp_manager + self.assertIs(adapter_adapter.manager, temp_manager) + self.assertIs(self.adapter.manager, temp_manager) + self.assertIs(self.logger.manager, temp_manager) + finally: + adapter_adapter.manager = orig_manager + self.assertIs(adapter_adapter.manager, orig_manager) + self.assertIs(self.adapter.manager, orig_manager) + self.assertIs(self.logger.manager, orig_manager) class LoggerTest(BaseTest): diff --git a/Misc/NEWS.d/next/Library/2017-10-18-16-48-09.bpo-31457._ovmzp.rst b/Misc/NEWS.d/next/Library/2017-10-18-16-48-09.bpo-31457._ovmzp.rst new file mode 100644 index 0000000000..1a59dce39a --- /dev/null +++ b/Misc/NEWS.d/next/Library/2017-10-18-16-48-09.bpo-31457._ovmzp.rst @@ -0,0 +1 @@ +The ``manager`` property on LoggerAdapter objects is now properly settable.