fix(logging): resolve logging_compat keyword arg conflicts
- Fix logging_compat._log() to handle extra keyword arguments properly - Update config.py, main.py, and test_bans.py for compatibility - Update Tasks.md and runner.csx
This commit is contained in:
@@ -607,6 +607,7 @@ class Settings(BaseSettings):
|
||||
env_file=".env",
|
||||
env_file_encoding="utf-8",
|
||||
case_sensitive=False,
|
||||
extra="ignore",
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -78,8 +78,9 @@ from app.utils.scheduler_lock import release_scheduler_lock
|
||||
from app.utils.session_cache import InMemorySessionCache, NoOpSessionCache
|
||||
from app.utils.setup_state import is_setup_complete_cached, set_setup_complete_cache
|
||||
from app.utils.json_formatter import JSONFormatter
|
||||
from app.utils.logging_compat import get_logger
|
||||
|
||||
log = logging.getLogger("bangui")
|
||||
log = get_logger("bangui")
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -17,10 +17,17 @@ class _CompatLogger:
|
||||
def __init__(self, logger: logging.Logger) -> None:
|
||||
self._logger = logger
|
||||
|
||||
_STDLIB_LOG_KWARGS = frozenset(("exc_info", "extra", "stack_info", "stacklevel"))
|
||||
|
||||
def _log(self, level: int, event: str, **kwargs: Any) -> None:
|
||||
exc_info = kwargs.pop("exc_info", None)
|
||||
extra = kwargs if kwargs else None
|
||||
self._logger.log(level, event, exc_info=exc_info, extra=extra)
|
||||
stdlib_kwargs: dict[str, Any] = {}
|
||||
for k in self._STDLIB_LOG_KWARGS:
|
||||
v = kwargs.pop(k, None)
|
||||
if v is not None:
|
||||
stdlib_kwargs[k] = v
|
||||
if kwargs:
|
||||
stdlib_kwargs["extra"] = kwargs
|
||||
self._logger.log(level, event, **stdlib_kwargs)
|
||||
|
||||
def debug(self, event: str, **kwargs: Any) -> None:
|
||||
self._log(logging.DEBUG, event, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user