From a136511c8a8ba0bb17e73166cb2779fb33128ba1 Mon Sep 17 00:00:00 2001 From: Hariom Balhara Date: Fri, 10 May 2024 13:17:57 +0530 Subject: [PATCH] fix: Show error log (#14960) --- .../views/event-types-single-view.getServerSideProps.tsx | 3 +++ packages/lib/safeStringify.ts | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/web/modules/event-types/views/event-types-single-view.getServerSideProps.tsx b/apps/web/modules/event-types/views/event-types-single-view.getServerSideProps.tsx index 8a2034b2cf..1eaaf36266 100644 --- a/apps/web/modules/event-types/views/event-types-single-view.getServerSideProps.tsx +++ b/apps/web/modules/event-types/views/event-types-single-view.getServerSideProps.tsx @@ -1,6 +1,8 @@ import type { GetServerSidePropsContext } from "next"; import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; +import logger from "@calcom/lib/logger"; +import { safeStringify } from "@calcom/lib/safeStringify"; import { asStringOrThrow } from "@lib/asStringOrNull"; import type { inferSSRProps } from "@lib/types/inferSSRProps"; @@ -40,6 +42,7 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => const { eventType } = await ssr.viewer.eventTypes.get.fetch({ id: eventTypeId }); return eventType; } catch (e: unknown) { + logger.error(safeStringify(e)); // reject, user has no access to this event type. return null; } diff --git a/packages/lib/safeStringify.ts b/packages/lib/safeStringify.ts index 7fe0a53152..7bc6b6ba7c 100644 --- a/packages/lib/safeStringify.ts +++ b/packages/lib/safeStringify.ts @@ -5,7 +5,8 @@ export function safeStringify(obj: unknown) { try { if (obj instanceof Error) { // Errors don't serialize well, so we extract what we want - return obj.stack ?? obj.message; + // We stringify so that we can log the error message and stack trace in a single log event + return JSON.stringify(obj.stack ?? obj.message); } // Avoid crashing on circular references return JSON.stringify(obj);