20 lines
504 B
TypeScript
20 lines
504 B
TypeScript
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,
|
|
);
|
|
};
|
|
}
|