import logging import re class TiandituTokenFilter(logging.Filter): def filter(self, record: logging.LogRecord) -> bool: message = record.getMessage() if "tianditu.gov.cn" in message: record.msg = re.sub(r"([?&]tk=)[^&\s\"']+", r"\1[redacted]", message) record.args = () return True def install_tianditu_token_filter() -> None: logger = logging.getLogger("httpx") if not any(isinstance(item, TiandituTokenFilter) for item in logger.filters): logger.addFilter(TiandituTokenFilter())