[3.10] gh-90195: Unset logger disabled flag when configuring it. (GH-96530) (GH-96533)

This commit is contained in:
Vinay Sajip 2022-09-03 15:10:04 +01:00 committed by GitHub
parent 7b163f88b6
commit c3dbbc88da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 2 deletions

View file

@ -794,6 +794,7 @@ class DictConfigurator(BaseConfigurator):
"""Configure a non-root logger from a dictionary."""
logger = logging.getLogger(name)
self.common_logger_config(logger, config, incremental)
logger.disabled = False
propagate = config.get('propagate', None)
if propagate is not None:
logger.propagate = propagate

View file

@ -1,4 +1,4 @@
# Copyright 2001-2021 by Vinay Sajip. All Rights Reserved.
# Copyright 2001-2022 by Vinay Sajip. All Rights Reserved.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted,
@ -16,7 +16,7 @@
"""Test harness for the logging module. Run all tests.
Copyright (C) 2001-2021 Vinay Sajip. All Rights Reserved.
Copyright (C) 2001-2022 Vinay Sajip. All Rights Reserved.
"""
import logging
@ -3439,6 +3439,36 @@ class ConfigDictTest(BaseTest):
logging.info('some log')
self.assertEqual(stderr.getvalue(), 'some log my_type\n')
def test_90195(self):
# See gh-90195
config = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'a': {
'level': 'DEBUG',
'handlers': ['console']
}
}
}
logger = logging.getLogger('a')
self.assertFalse(logger.disabled)
self.apply_config(config)
self.assertFalse(logger.disabled)
# Should disable all loggers ...
self.apply_config({'version': 1})
self.assertTrue(logger.disabled)
del config['disable_existing_loggers']
self.apply_config(config)
# Logger should be enabled, since explicitly mentioned
self.assertFalse(logger.disabled)
class ManagerTest(BaseTest):
def test_manager_loggerclass(self):
logged = []