bpo-38586: setting logging.Handler .name property in fileConfig (GH-16918)
This commit is contained in:
parent
79d4ed102a
commit
b15100fe7d
|
@ -143,6 +143,7 @@ def _install_handlers(cp, formatters):
|
||||||
kwargs = section.get("kwargs", '{}')
|
kwargs = section.get("kwargs", '{}')
|
||||||
kwargs = eval(kwargs, vars(logging))
|
kwargs = eval(kwargs, vars(logging))
|
||||||
h = klass(*args, **kwargs)
|
h = klass(*args, **kwargs)
|
||||||
|
h.name = hand
|
||||||
if "level" in section:
|
if "level" in section:
|
||||||
level = section["level"]
|
level = section["level"]
|
||||||
h.setLevel(level)
|
h.setLevel(level)
|
||||||
|
|
|
@ -1591,6 +1591,30 @@ class ConfigFileTest(BaseTest):
|
||||||
self.apply_config(self.disable_test, disable_existing_loggers=False)
|
self.apply_config(self.disable_test, disable_existing_loggers=False)
|
||||||
self.assertFalse(logger.disabled)
|
self.assertFalse(logger.disabled)
|
||||||
|
|
||||||
|
def test_config_set_handler_names(self):
|
||||||
|
test_config = """
|
||||||
|
[loggers]
|
||||||
|
keys=root
|
||||||
|
|
||||||
|
[handlers]
|
||||||
|
keys=hand1
|
||||||
|
|
||||||
|
[formatters]
|
||||||
|
keys=form1
|
||||||
|
|
||||||
|
[logger_root]
|
||||||
|
handlers=hand1
|
||||||
|
|
||||||
|
[handler_hand1]
|
||||||
|
class=StreamHandler
|
||||||
|
formatter=form1
|
||||||
|
|
||||||
|
[formatter_form1]
|
||||||
|
format=%(levelname)s ++ %(message)s
|
||||||
|
"""
|
||||||
|
self.apply_config(test_config)
|
||||||
|
self.assertEquals(logging.getLogger().handlers[0].name, 'hand1')
|
||||||
|
|
||||||
def test_defaults_do_no_interpolation(self):
|
def test_defaults_do_no_interpolation(self):
|
||||||
"""bpo-33802 defaults should not get interpolated"""
|
"""bpo-33802 defaults should not get interpolated"""
|
||||||
ini = textwrap.dedent("""
|
ini = textwrap.dedent("""
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Now :func:`~logging.config.fileConfig` correcty sets the .name of handlers loaded.
|
Loading…
Reference in New Issue