refactor(logging): replace console.error in action-utils with logger

This commit is contained in:
SpecialX
2026-07-07 12:05:00 +08:00
parent c44f19aefd
commit 2236eb36e7

View File

@@ -9,6 +9,9 @@
import type { ActionState } from "@/shared/types/action-state" import type { ActionState } from "@/shared/types/action-state"
import { PermissionDeniedError } from "@/shared/lib/errors" import { PermissionDeniedError } from "@/shared/lib/errors"
import { createModuleLogger } from "@/shared/lib/logger"
const log = createModuleLogger("action")
/** /**
* 已知的业务错误类型,消息可以安全返回给客户端。 * 已知的业务错误类型,消息可以安全返回给客户端。
@@ -69,11 +72,11 @@ export function handleActionError(e: unknown): ActionState<never> {
// 未知错误:不暴露内部细节,仅记录服务端日志 // 未知错误:不暴露内部细节,仅记录服务端日志
if (e instanceof Error) { if (e instanceof Error) {
console.error("[ActionError]", e.name, e.message, e.stack) log.error({ err: e }, "Action failed")
return { success: false, message: "操作失败,请稍后重试", errorCode: "unexpected" } return { success: false, message: "操作失败,请稍后重试", errorCode: "unexpected" }
} }
console.error("[ActionError] Unknown error:", e) log.error({ err: e }, "Unknown action error")
return { success: false, message: "操作失败,请稍后重试", errorCode: "unexpected" } return { success: false, message: "操作失败,请稍后重试", errorCode: "unexpected" }
} }
@@ -90,11 +93,11 @@ export function handleActionError(e: unknown): ActionState<never> {
* const result = await safeActionCall( * const result = await safeActionCall(
* () => createGradeRecordAction(null, formData), * () => createGradeRecordAction(null, formData),
* { * {
* onError: () => toast.error("保存失败"), * onError: () => notify.error("保存失败"),
* onFinally: () => setIsSubmitting(false), * onFinally: () => setIsSubmitting(false),
* } * }
* ) * )
* if (result?.success) { toast.success("保存成功") } * if (result?.success) { notify.success("保存成功") }
* ``` * ```
*/ */
export async function safeActionCall<T>( export async function safeActionCall<T>(
@@ -109,7 +112,7 @@ export async function safeActionCall<T>(
} catch (e) { } catch (e) {
// Action 抛出异常(非返回 failure),如网络错误、序列化错误等 // Action 抛出异常(非返回 failure),如网络错误、序列化错误等
options?.onError?.(e) options?.onError?.(e)
console.error("[SafeActionCall]", e) log.error({ err: e }, "Safe action call threw")
return null return null
} finally { } finally {
options?.onFinally?.() options?.onFinally?.()