32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
![]() |
from logging import StreamHandler, getLevelName
|
||
|
from logging.handlers import RotatingFileHandler
|
||
|
from typing import Optional, IO
|
||
|
|
||
|
|
||
|
class MyStreamHandler(StreamHandler):
|
||
|
|
||
|
def __init__(self, stream: Optional[IO[str]] = ...) -> None:
|
||
|
print(222)
|
||
|
super().__init__(stream)
|
||
|
|
||
|
def __repr__(self):
|
||
|
level = getLevelName(self.level)
|
||
|
name = getattr(self.stream, 'name', '')
|
||
|
# bpo-36015: name can be an int
|
||
|
name = str(name)
|
||
|
if name:
|
||
|
name += ' '
|
||
|
print(111)
|
||
|
return '<%s %s(%s)>' % (self.__class__.__name__, name, level)
|
||
|
class MyRotatingFileHandler(RotatingFileHandler):
|
||
|
|
||
|
def __init__(self, filename: str, mode: str = ..., maxBytes: int = ..., backupCount: int = ...,
|
||
|
encoding: Optional[str] = ..., delay: bool = ...) -> None:
|
||
|
print(4444)
|
||
|
super().__init__(filename, mode, maxBytes, backupCount, encoding, delay)
|
||
|
|
||
|
def __repr__(self):
|
||
|
level = getLevelName(self.level)
|
||
|
print(22)
|
||
|
return '<%s %s (%s)>' % (self.__class__.__name__, self.baseFilename, level)
|