Kaydet (Commit) 0b6a118a authored tarafından Łukasz Langa's avatar Łukasz Langa Kaydeden (comit) GitHub

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.
üst 032a6480
......@@ -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):
......
......@@ -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):
......
The ``manager`` property on LoggerAdapter objects is now properly settable.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment