logging_util: Error-proof against weird exc_info.

This commit is contained in:
Alex Vandiver
2025-04-08 19:37:58 +00:00
committed by Tim Abbott
parent 452a93f72b
commit 31ffe12873

View File

@@ -3,6 +3,7 @@ import hashlib
import logging
import threading
import traceback
from collections.abc import Iterable
from contextlib import suppress
from datetime import datetime, timedelta, timezone
from logging import Logger
@@ -79,7 +80,7 @@ class _RateLimitFilter:
if rate > 0:
(use_cache, should_reset_handling_exception) = self.can_use_remote_cache()
if use_cache:
if record.exc_info is not None:
if record.exc_info is not None and isinstance(record.exc_info, Iterable):
tb = "\n".join(traceback.format_exception(*record.exc_info))
else:
tb = str(record)