cal/packages/lib/redactError.ts
Udit Takkar 7dc6df2ad6
chore: improve logs (#12467)
* chore: improve logs

* fix: import

* chore: use safe stringify

* chore: add more logs to google calendar

* chore: use this.log

---------

Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
2023-11-29 19:39:25 +05:30

28 lines
871 B
TypeScript

import { Prisma } from "@prisma/client";
import logger from "@calcom/lib/logger";
import { safeStringify } from "@calcom/lib/safeStringify";
const log = logger.getSubLogger({ prefix: [`[[redactError]`] });
function shouldRedact<T extends Error>(error: T) {
return (
error instanceof Prisma.PrismaClientInitializationError ||
error instanceof Prisma.PrismaClientKnownRequestError ||
error instanceof Prisma.PrismaClientUnknownRequestError ||
error instanceof Prisma.PrismaClientValidationError
);
}
export const redactError = <T extends Error | unknown>(error: T) => {
if (!(error instanceof Error)) {
return error;
}
log.debug("Type of Error: ", error.constructor);
if (shouldRedact(error)) {
log.error("Error: ", safeStringify(error));
return new Error("An error occured while querying the database.");
}
return error;
};