Skip to content

Commit

Permalink
[3.11] gh-90195: Unset logger disabled flag when configuring it. (GH-…
Browse files Browse the repository at this point in the history
  • Loading branch information
vsajip committed Sep 3, 2022
1 parent 79fe67f commit f255820
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
1 change: 1 addition & 0 deletions Lib/logging/config.py
Expand Up @@ -795,6 +795,7 @@ def configure_logger(self, name, config, incremental=False):
"""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
Expand Down
33 changes: 31 additions & 2 deletions Lib/test/test_logging.py
@@ -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,
Expand All @@ -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
Expand Down Expand Up @@ -3504,6 +3504,35 @@ class NotAFilter: pass
{"version": 1, "root": {"level": "DEBUG", "filters": [filter_]}}
)

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):
Expand Down

0 comments on commit f255820

Please sign in to comment.