import type { ErrorHandler } from "hono"; import type { Logger } from "pino"; export function createErrorHandler(logger: Logger): ErrorHandler { return (error, context) => { const requestId = context.get("requestId") ?? crypto.randomUUID(); logger.error({ error, requestId }, "请求处理失败"); return context.json( { error: { code: "INTERNAL_ERROR", message: "服务暂时不可用", requestId, }, }, 500, ); }; }