in packages/better-auth/src/api/index.ts [184:234]
onError(e) {
if (e instanceof APIError && e.status === "FOUND") {
return;
}
if (options.onAPIError?.throw) {
throw e;
}
if (options.onAPIError?.onError) {
options.onAPIError.onError(e, ctx);
return;
}
const optLogLevel = options.logger?.level;
const log =
optLogLevel === "error" ||
optLogLevel === "warn" ||
optLogLevel === "debug"
? logger
: undefined;
if (options.logger?.disabled !== true) {
if (
e &&
typeof e === "object" &&
"message" in e &&
typeof e.message === "string"
) {
if (
e.message.includes("no column") ||
e.message.includes("column") ||
e.message.includes("relation") ||
e.message.includes("table") ||
e.message.includes("does not exist")
) {
ctx.logger?.error(e.message);
return;
}
}
if (e instanceof APIError) {
if (e.status === "INTERNAL_SERVER_ERROR") {
ctx.logger.error(e.status, e);
}
log?.error(e.message);
} else {
ctx.logger?.error(
e && typeof e === "object" && "name" in e ? (e.name as string) : "",
e,
);
}
}
},