Merged fix for #13361 from 3.2.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index abc4b0c..c5988c9 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1096,6 +1096,8 @@
         placeholder to now point to the logger.
         """
         rv = None
+        if not isinstance(name, str):
+            raise ValueError('A logger name must be a string')
         _acquireLock()
         try:
             if name in self.loggerDict:
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 7c8bab5..64c0653 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -310,6 +310,8 @@
             ('INF.BADPARENT', 'INFO', '4'),
         ])
 
+    def test_invalid_name(self):
+        self.assertRaises(ValueError, logging.getLogger, any)
 
 class BasicFilterTest(BaseTest):