87 lines
2.3 KiB
Python
87 lines
2.3 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from app.services.operation_log_service import build_exception_detail, log_operation_error, log_operation_event
|
|
|
|
|
|
def log_module_event_file(
|
|
*,
|
|
module: str,
|
|
event_type: str,
|
|
project_id: str | None = None,
|
|
step_id: str | None = None,
|
|
user_id: str | None = None,
|
|
message: str | None = None,
|
|
detail: dict[str, Any] | None = None,
|
|
error: str | None = None,
|
|
) -> None:
|
|
log_operation_event(
|
|
domain="module_generation",
|
|
module=module,
|
|
event_type=event_type,
|
|
project_id=project_id,
|
|
step_id=step_id,
|
|
user_id=user_id,
|
|
message=message,
|
|
detail=detail,
|
|
error=error,
|
|
event_status="failed" if error else "success",
|
|
source="service",
|
|
)
|
|
|
|
|
|
def log_module_prompt_event(
|
|
*,
|
|
event_type: str,
|
|
project_id: str,
|
|
step_id: str,
|
|
user_id: str,
|
|
module: str,
|
|
prompt_type: str,
|
|
request: dict[str, Any] | None = None,
|
|
response: dict[str, Any] | None = None,
|
|
token_usage: dict[str, Any] | None = None,
|
|
error: str | None = None,
|
|
) -> None:
|
|
log_operation_event(
|
|
domain="module_generation",
|
|
module=module,
|
|
event_type=event_type,
|
|
project_id=project_id,
|
|
step_id=step_id,
|
|
user_id=user_id,
|
|
message=f"模块 AI 请求:{prompt_type}",
|
|
detail={"prompt_type": prompt_type, "request": request or {}, "response": response or {}, "token_usage": token_usage or {}},
|
|
error=error,
|
|
event_status="failed" if error else "success",
|
|
source="service",
|
|
)
|
|
|
|
|
|
def log_module_error(
|
|
*,
|
|
module: str,
|
|
event_type: str,
|
|
project_id: str | None = None,
|
|
step_id: str | None = None,
|
|
user_id: str | None = None,
|
|
message: str | None = None,
|
|
detail: dict[str, Any] | None = None,
|
|
error: str | None = None,
|
|
exc: BaseException | None = None,
|
|
) -> None:
|
|
log_operation_error(
|
|
domain="module_generation",
|
|
module=module,
|
|
event_type=event_type,
|
|
project_id=project_id,
|
|
step_id=step_id,
|
|
user_id=user_id,
|
|
message=message,
|
|
detail=detail,
|
|
error=error if error is not None else (str(exc) if exc else None),
|
|
exc=exc,
|
|
source="service",
|
|
)
|