Skip to content

Commit 537ed75

Browse files
miss-islingtonambv
authored andcommitted
[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 0b6a118)
1 parent 7bbbc6a commit 537ed75

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

Lib/logging/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1715,7 +1715,7 @@ def manager(self):
17151715
return self.logger.manager
17161716

17171717
@manager.setter
1718-
def set_manager(self, value):
1718+
def manager(self, value):
17191719
self.logger.manager = value
17201720

17211721
def __repr__(self):

Lib/test/test_logging.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3959,12 +3959,25 @@ def test_nested(self):
39593959
msg = 'Adapters can be nested, yo.'
39603960
adapter_adapter = logging.LoggerAdapter(logger=self.adapter, extra=None)
39613961
adapter_adapter.log(logging.CRITICAL, msg, self.recording)
3962-
39633962
self.assertEqual(len(self.recording.records), 1)
39643963
record = self.recording.records[0]
39653964
self.assertEqual(record.levelno, logging.CRITICAL)
39663965
self.assertEqual(record.msg, msg)
39673966
self.assertEqual(record.args, (self.recording,))
3967+
orig_manager = adapter_adapter.manager
3968+
self.assertIs(self.adapter.manager, orig_manager)
3969+
self.assertIs(self.logger.manager, orig_manager)
3970+
temp_manager = object()
3971+
try:
3972+
adapter_adapter.manager = temp_manager
3973+
self.assertIs(adapter_adapter.manager, temp_manager)
3974+
self.assertIs(self.adapter.manager, temp_manager)
3975+
self.assertIs(self.logger.manager, temp_manager)
3976+
finally:
3977+
adapter_adapter.manager = orig_manager
3978+
self.assertIs(adapter_adapter.manager, orig_manager)
3979+
self.assertIs(self.adapter.manager, orig_manager)
3980+
self.assertIs(self.logger.manager, orig_manager)
39683981

39693982

39703983
class LoggerTest(BaseTest):
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The ``manager`` property on LoggerAdapter objects is now properly settable.

0 commit comments

Comments
 (0)