[3.12] gh-118868: logging QueueHandler fix passing of kwargs (GH-118869) (GH-120031)

(cherry picked from commit dce14bb2dc)
This commit is contained in:
Miss Islington (bot) 2024-06-04 14:17:46 +02:00 committed by GitHub
parent b5c3394fce
commit fe68908c54
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 39 additions and 8 deletions

View file

@ -3944,6 +3944,35 @@ class ConfigDictTest(BaseTest):
}
logging.config.dictConfig(config)
# gh-118868: check if kwargs are passed to logging QueueHandler
def test_kwargs_passing(self):
class CustomQueueHandler(logging.handlers.QueueHandler):
def __init__(self, *args, **kwargs):
super().__init__(queue.Queue())
self.custom_kwargs = kwargs
custom_kwargs = {'foo': 'bar'}
config = {
'version': 1,
'handlers': {
'custom': {
'class': CustomQueueHandler,
**custom_kwargs
},
},
'root': {
'level': 'DEBUG',
'handlers': ['custom']
}
}
logging.config.dictConfig(config)
handler = logging.getHandlerByName('custom')
self.assertEqual(handler.custom_kwargs, custom_kwargs)
class ManagerTest(BaseTest):
def test_manager_loggerclass(self):
logged = []