chore: harden canvas 3d task logging

This commit is contained in:
Your Name 2026-05-27 11:04:07 +08:00
parent ccf316630b
commit c9d3a3964f
2 changed files with 26 additions and 10 deletions

View File

@ -6,6 +6,7 @@ import {
resolveThreeDModelRealId,
} from "@/lib/model3d/model-alias-config";
import { getThreeDModelAliasConfigForRuntime } from "@/lib/model3d/model-alias-config-server";
import { createLogger } from "@/lib/observability/logger";
import { prepareFeaturePointsCharge } from "@/lib/points/feature-charge";
import { get3DTaskCreditCost } from "@/lib/points/config";
import {
@ -17,6 +18,8 @@ import { TripoApiError, tripoRequest } from "@/lib/tripo/client";
export const runtime = "nodejs";
export const maxDuration = 60;
const logger = createLogger("canvas-3d-task-create");
type CreateTaskRequest = {
taskType:
| "text_to_model"
@ -458,20 +461,32 @@ export async function POST(request: Request) {
});
if (!consumeResult?.ok) {
console.warn(
`[Points] Failed to consume 3D points. user=${session.user.id} task=${taskId} cost=${unitCost}`
);
logger.warn("points consume failed", {
userId: session.user.id,
taskId,
unitCost,
});
} else if (consumeResult.skipped) {
console.log(
`[Points] Skipped ${unitCost} 3D points for VIP user=${session.user.id} task=${taskId}`
);
logger.info("points consume skipped", {
userId: session.user.id,
taskId,
unitCost,
reason: "vip",
});
} else {
console.log(
`[Points] Consumed ${unitCost} points for 3D model generation. user=${session.user.id} task=${taskId} balance=${consumeResult.balance}`
);
logger.info("points consumed", {
userId: session.user.id,
taskId,
unitCost,
balance: consumeResult.balance,
});
}
} catch (error) {
console.error("[Points] Failed to consume 3D points:", error);
logger.error("points consume threw", error, {
userId: session.user.id,
taskId,
unitCost,
});
}
}

View File

@ -33,6 +33,7 @@ const files = [
"app/api/scene-fusion/route.ts",
"app/api/pick-object/route.ts",
"app/api/canvas/world/upload/route.ts",
"app/api/canvas/3d/tasks/route.ts",
];
const consolePattern = /\bconsole\.(log|warn|error|info|debug)\b/g;