Skip to content

日志中文是否可以增强下呢? #41

@jxrjlxc02

Description

@jxrjlxc02

path::https://github.com/doganarif/fastapi-radar/blob/main/fastapi_radar/utils.py

source:

def redact_sensitive_data(text: Optional[str]) -> Optional[str]:
    """Redact sensitive data from text (body content)."""
    if not text:
        return text

    # Patterns for sensitive data
    patterns = [
        (r'"(password|passwd|pwd)"\s*:\s*"[^"]*"', r'"\1": "***REDACTED***"'),
        (
            r'"(token|api_key|apikey|secret|auth)"\s*:\s*"[^"]*"',
            r'"\1": "***REDACTED***"',
        ),
        (r'"(credit_card|card_number|cvv)"\s*:\s*"[^"]*"', r'"\1": "***REDACTED***"'),
        (r"Bearer\s+[A-Za-z0-9\-_\.]+", "Bearer ***REDACTED***"),
    ]

    result = text
    for pattern, replacement in patterns:
        result = re.sub(pattern, replacement, result, flags=re.IGNORECASE)

    return result

after:

def redact_sensitive_data(text: Optional[str]) -> Optional[str]:
    """Redact sensitive data from text (body content)."""
    if not text:
        return text

    # 修复:确保 JSON 使用 UTF-8 而非 Unicode 转义
    try:
        import json

        # 尝试解析为 JSON
        data = json.loads(text)
        # 重新序列化,禁用 ASCII 转义
        return json.dumps(data, ensure_ascii=False, indent=2)  # ✅ 关键修改
    except (json.JSONDecodeError, TypeError):
        # 不是 JSON,保持原样
        pass

    # Patterns for sensitive data
    patterns = [
        (r'"(password|passwd|pwd)"\s*:\s*"[^"]*"', r'"\1": "***REDACTED***"'),
        (
            r'"(token|api_key|apikey|secret|auth)"\s*:\s*"[^"]*"',
            r'"\1": "***REDACTED***"',
        ),
        (r'"(credit_card|card_number|cvv)"\s*:\s*"[^"]*"', r'"\1": "***REDACTED***"'),
        (r"Bearer\s+[A-Za-z0-9\-_\.]+", "Bearer ***REDACTED***"),
    ]

    result = text
    for pattern, replacement in patterns:
        result = re.sub(pattern, replacement, result, flags=re.IGNORECASE)

    return result

进入具体请求 id 后,请求换行其他问题:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions