refactor: Add typing stubs for PyYAML and improve type hints in logging utilities and extensions
This commit is contained in:
@@ -1,8 +1,3 @@
|
||||
"""
|
||||
Кастомная система логирования для PyServe
|
||||
Управляет логгерами всех пакетов и модулей, включая uvicorn и starlette
|
||||
"""
|
||||
|
||||
import logging
|
||||
import logging.handlers
|
||||
import sys
|
||||
@@ -14,7 +9,7 @@ from . import __version__
|
||||
|
||||
|
||||
class UvicornLogFilter(logging.Filter):
|
||||
def filter(self, record):
|
||||
def filter(self, record: logging.LogRecord) -> bool:
|
||||
if hasattr(record, 'name') and 'uvicorn.access' in record.name:
|
||||
if hasattr(record, 'getMessage'):
|
||||
msg = record.getMessage()
|
||||
@@ -41,12 +36,12 @@ class PyServeFormatter(logging.Formatter):
|
||||
'RESET': '\033[0m' # Reset
|
||||
}
|
||||
|
||||
def __init__(self, use_colors: bool = True, show_module: bool = True, *args, **kwargs):
|
||||
def __init__(self, use_colors: bool = True, show_module: bool = True, *args: Any, **kwargs: Any):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.use_colors = use_colors and hasattr(sys.stderr, 'isatty') and sys.stderr.isatty()
|
||||
self.show_module = show_module
|
||||
|
||||
def format(self, record):
|
||||
def format(self, record: logging.LogRecord) -> str:
|
||||
if self.use_colors:
|
||||
levelname = record.levelname
|
||||
if levelname in self.COLORS:
|
||||
@@ -69,12 +64,12 @@ class AccessLogHandler(logging.Handler):
|
||||
super().__init__()
|
||||
self.access_logger = logging.getLogger(logger_name)
|
||||
|
||||
def emit(self, record):
|
||||
def emit(self, record: logging.LogRecord) -> None:
|
||||
self.access_logger.handle(record)
|
||||
|
||||
|
||||
class PyServeLogManager:
|
||||
def __init__(self):
|
||||
def __init__(self) -> None:
|
||||
self.configured = False
|
||||
self.handlers: Dict[str, logging.Handler] = {}
|
||||
self.loggers: Dict[str, logging.Logger] = {}
|
||||
@@ -138,10 +133,10 @@ class PyServeLogManager:
|
||||
pyserve_logger.setLevel(getattr(logging, level))
|
||||
self.loggers['pyserve'] = pyserve_logger
|
||||
|
||||
pyserve_logger.info(f"PyServe v{__version__} - Система логирования инициализирована")
|
||||
pyserve_logger.info(f"Уровень логирования: {level}")
|
||||
pyserve_logger.info(f"Консольный вывод: {'включен' if console_output else 'отключен'}")
|
||||
pyserve_logger.info(f"Файл логов: {log_file if log_file else 'отключен'}")
|
||||
pyserve_logger.info(f"PyServe v{__version__} - Logger initialized")
|
||||
pyserve_logger.info(f"Logging level: {level}")
|
||||
pyserve_logger.info(f"Console output: {'enabled' if console_output else 'disabled'}")
|
||||
pyserve_logger.info(f"Log file: {log_file if log_file else 'disabled'}")
|
||||
|
||||
self.configured = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user