gh-92128: Add __class_getitem__ to logging.LoggerAdapter and logging.StreamHandler (#92129)

Closes #92128
This commit is contained in:
Alex Waygood 2022-05-02 16:10:02 +01:00 committed by GitHub
parent 031397063e
commit ab616d323d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 0 deletions

View file

@ -25,6 +25,7 @@
import sys, os, time, io, re, traceback, warnings, weakref, collections.abc
from types import GenericAlias
from string import Template
from string import Formatter as StrFormatter
@ -1145,6 +1146,8 @@ def __repr__(self):
name += ' '
return '<%s %s(%s)>' % (self.__class__.__name__, name, level)
__class_getitem__ = classmethod(GenericAlias)
class FileHandler(StreamHandler):
"""
@ -1939,6 +1942,8 @@ def __repr__(self):
level = getLevelName(logger.getEffectiveLevel())
return '<%s %s (%s)>' % (self.__class__.__name__, logger.name, level)
__class_getitem__ = classmethod(GenericAlias)
root = RootLogger(WARNING)
Logger.root = root
Logger.manager = Manager(Logger.root)

View file

@ -14,6 +14,7 @@
from dataclasses import Field
from functools import partial, partialmethod, cached_property
from graphlib import TopologicalSorter
from logging import LoggerAdapter, StreamHandler
from mailbox import Mailbox, _PartialFile
try:
import ctypes
@ -113,6 +114,7 @@ class BaseTest(unittest.TestCase):
MappingProxyType, AsyncGeneratorType,
DirEntry,
chain,
LoggerAdapter, StreamHandler,
TemporaryDirectory, SpooledTemporaryFile,
Queue, SimpleQueue,
_AssertRaisesContext,

View file

@ -0,0 +1,3 @@
Add :meth:`~object.__class_getitem__` to :class:`logging.LoggerAdapter` and
:class:`logging.StreamHandler`, allowing them to be parameterized at runtime.
Patch by Alex Waygood.