23 lines
622 B
TypeScript
23 lines
622 B
TypeScript
import type { Instrumentation } from "next";
|
|
|
|
export const onRequestError: Instrumentation.onRequestError = async (
|
|
error,
|
|
request,
|
|
context,
|
|
) => {
|
|
if (process.env.NEXT_RUNTIME !== "nodejs") return;
|
|
|
|
const { logServerError } = await import("@/lib/server-log");
|
|
logServerError("next.request_failed", error, {
|
|
path: request.path.split("?", 1)[0] ?? request.path,
|
|
method: request.method,
|
|
routePath: context.routePath,
|
|
routeType: context.routeType,
|
|
renderSource: context.renderSource,
|
|
digest:
|
|
typeof error === "object" && error !== null && "digest" in error
|
|
? String(error.digest)
|
|
: null,
|
|
});
|
|
};
|