Closes #25664: handled logger names in Unicode.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index fa9ebe8..caf151d 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -465,7 +465,15 @@
         record.message = record.getMessage()
         if self.usesTime():
             record.asctime = self.formatTime(record, self.datefmt)
-        s = self._fmt % record.__dict__
+        try:
+            s = self._fmt % record.__dict__
+        except UnicodeDecodeError as e:
+            # Issue 25664. The logger name may be Unicode. Try again ...
+            try:
+                record.name = record.name.decode('utf-8')
+                s = self._fmt % record.__dict__
+            except UnicodeDecodeError:
+                raise e
         if record.exc_info:
             # Cache the traceback text to avoid converting it multiple times
             # (it's constant anyway)