refactor: 将流式转换逐次 debug 日志替换为流结束时的汇总日志

This commit is contained in:
fawney19
2026-02-20 22:04:46 +08:00
parent d1724caab4
commit 4c5dac603f
3 changed files with 13 additions and 9 deletions

View File

@@ -122,10 +122,6 @@ class CliEventMixin:
provider_parser = get_parser_for_format(ctx.provider_api_format)
if provider_parser:
parser = provider_parser
logger.debug(
f"[{getattr(ctx, 'request_id', 'unknown')}] 使用 Provider 解析器: "
f"{ctx.provider_api_format} (client={ctx.client_api_format})"
)
except KeyError:
logger.debug(
f"[{getattr(ctx, 'request_id', 'unknown')}] 未找到 Provider 格式解析器: "
@@ -538,11 +534,7 @@ class CliEventMixin:
)
result = _format_converted_events_to_sse(converted_events, client_format)
if result:
logger.debug(
f"[{getattr(ctx, 'request_id', 'unknown')}] 流式转换: "
f"{provider_format}->{client_format}, events={len(converted_events)}, "
f"first_output={result[0][:100] if result else 'empty'}..."
)
ctx.stream_conversion_event_count += len(converted_events)
return result, converted_events
except Exception as e:

View File

@@ -301,6 +301,16 @@ class CliMonitorMixin:
# 在记录统计前,允许子类从 parsed_chunks 中提取额外的元数据
self._finalize_stream_metadata(ctx)
# 流式格式转换汇总日志
if ctx.stream_conversion_event_count > 0:
logger.debug(
"[{}] 流式转换完成: {}->{}, total_events={}",
self.request_id[:8],
ctx.provider_api_format,
ctx.client_api_format,
ctx.stream_conversion_event_count,
)
# 流未正常完成(如上游截断/连接中断)且无 token 数据时,
# 从已收集的文本和请求体估算 tokens避免 usage 记录为 0
if (

View File

@@ -133,6 +133,7 @@ class StreamContext:
# 流式格式转换状态(跨 chunk 追踪)
stream_conversion_state: StreamState | None = None
stream_conversion_event_count: int = 0 # 流式转换成功的 event 计数
def reset_for_retry(self) -> None:
"""
@@ -163,6 +164,7 @@ class StreamContext:
self.final_response = None
self.proxy_info = None
self.stream_conversion_state = None
self.stream_conversion_event_count = 0
self.needs_conversion = False
self.selected_base_url = None