Files
Random-image-api/backend/app/core/logging.py
T
2026-02-22 18:58:55 +08:00

31 lines
862 B
Python

from __future__ import annotations
import logging
from typing import Any
from app.core.redact import redact_any
class RedactFilter(logging.Filter):
def filter(self, record: logging.LogRecord) -> bool:
try:
message = record.getMessage()
record.msg = redact_any(message)
record.args = ()
for key, value in list(record.__dict__.items()):
if key.startswith("_"):
continue
record.__dict__[key] = redact_any(value)
except Exception:
pass
return True
def configure_logging(level: int = logging.INFO) -> None:
logging.basicConfig(level=level, format="%(levelname)s %(name)s %(message)s")
logging.getLogger().addFilter(RedactFilter())
def get_logger(name: str) -> logging.Logger:
return logging.getLogger(name)