fix(fundamentals): logger.exception → logger.error %r (UnicodeDecodeError 회귀 방지)

pykrx/KRX 비정상 응답에서 traceback 포매팅 중 UnicodeDecodeError 가 발생해
API 500 을 만든 회귀 사례가 있었음. 새 pykrx fundamentals 경로에 동일 패턴이
다시 들어가지 않도록 %r 안전 직렬화로 통일.
This commit is contained in:
claude-owner
2026-05-28 19:29:49 +09:00
parent a79e784550
commit 52733df235

View File

@@ -63,8 +63,10 @@ def _fetch_one(code: str, target: date) -> Fundamentals | None:
try: try:
cap_df = krx.get_market_cap(ds, ds, code) cap_df = krx.get_market_cap(ds, ds, code)
fund_df = krx.get_market_fundamental(ds, ds, code) fund_df = krx.get_market_fundamental(ds, ds, code)
except Exception: # noqa: BLE001 except Exception as exc: # noqa: BLE001
logger.exception("pykrx fundamentals failed code=%s date=%s", code, ds) # logger.exception 은 예전에 pykrx/KRX 비정상 응답 traceback 포매팅 중
# UnicodeDecodeError 로 API 500 을 만든 적이 있음 → %r 로 안전하게 직렬화.
logger.error("pykrx fundamentals failed code=%s date=%s err=%r", code, ds, exc)
return None return None
cap_ok = cap_df is not None and not cap_df.empty cap_ok = cap_df is not None and not cap_df.empty