import hashlib import re IPV4_RE = re.compile(r"\b(?:\d{1,3}\.){3}\d{1,3}\b") UUID_RE = re.compile(r"\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b") HEX_RE = re.compile(r"\b[0-9a-fA-F]{16,}\b") TIME_RE = re.compile(r"\b\d{1,2}:\d{2}:\d{2}(?:\.\d+)?\b") LONG_NUMBER_RE = re.compile(r"\b\d{5,}\b") TOKEN_RE = re.compile(r"<[^>]+>|[a-z0-9_.$-]+|[\\/=:?&%+@]+") def normalize_log(text: str) -> str: text = str(text).strip().lower() text = UUID_RE.sub(" ", text) text = IPV4_RE.sub(" ", text) text = HEX_RE.sub(" ", text) text = TIME_RE.sub("