From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 19 Oct 2017 01:02:59 +0000 (-0700) Subject: [3.6] bpo-31457: Make the `LoggerAdapter.manager` property settable (GH-4042) (#4043) X-Git-Tag: v3.6.4rc1~150 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=537ed75291ed8a640887f199f98e2e5076ef87b6;p=python [3.6] bpo-31457: Make the `LoggerAdapter.manager` property settable (GH-4042) (#4043) Due to a bug in the initial fix, the setter was in fact creating a different property. This is now fixed. (cherry picked from commit 0b6a118a45ac2eded1348fea6ed300d5651f7471) --- diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 0965536797..d363af5a1a 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -1715,7 +1715,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 25046c3c38..f0e2437b28 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -3959,12 +3959,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.