fix(fundamentals): logger.exception → logger.error %r (UnicodeDecodeError 회귀 방지)
pykrx/KRX 비정상 응답에서 traceback 포매팅 중 UnicodeDecodeError 가 발생해 API 500 을 만든 회귀 사례가 있었음. 새 pykrx fundamentals 경로에 동일 패턴이 다시 들어가지 않도록 %r 안전 직렬화로 통일.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user