From b15100fe7def8580c78ed16f0bb4b72b2ae7af3f Mon Sep 17 00:00:00 2001 From: Lucas Cimon Date: Thu, 31 Oct 2019 09:06:25 +0100 Subject: bpo-38586: setting logging.Handler .name property in fileConfig (GH-16918) --- Lib/logging/config.py | 1 + Lib/test/test_logging.py | 24 ++++++++++++++++++++++ .../2019-10-24-17-26-39.bpo-38586.cyq5nr.rst | 1 + 3 files changed, 26 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2019-10-24-17-26-39.bpo-38586.cyq5nr.rst diff --git a/Lib/logging/config.py b/Lib/logging/config.py index 9dd35e1..4a3b896 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -143,6 +143,7 @@ def _install_handlers(cp, formatters): kwargs = section.get("kwargs", '{}') kwargs = eval(kwargs, vars(logging)) h = klass(*args, **kwargs) + h.name = hand if "level" in section: level = section["level"] h.setLevel(level) diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 74ccf48..53b5bfc 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -1591,6 +1591,30 @@ class ConfigFileTest(BaseTest): self.apply_config(self.disable_test, disable_existing_loggers=False) 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): """bpo-33802 defaults should not get interpolated""" ini = textwrap.dedent(""" diff --git a/Misc/NEWS.d/next/Library/2019-10-24-17-26-39.bpo-38586.cyq5nr.rst b/Misc/NEWS.d/next/Library/2019-10-24-17-26-39.bpo-38586.cyq5nr.rst new file mode 100644 index 0000000..eac7bba --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-10-24-17-26-39.bpo-38586.cyq5nr.rst @@ -0,0 +1 @@ +Now :func:`~logging.config.fileConfig` correcty sets the .name of handlers loaded. -- cgit v0.12