fix: make sure all logged errors are preceeded with a message

Just logging an error makes it difficult to relate the error log to code in the
codebase. Error logging a message right before the error itself makes it easier
to search the codebase for that error log.
This commit is contained in:
Michael Zetterberg
2024-07-24 11:32:15 +02:00
parent 80c80fe1bd
commit 71dcf30719
18 changed files with 56 additions and 46 deletions

View File

@@ -31,6 +31,7 @@ export async function editProfile(_prevState: State, values: FormData) {
status: Status.success,
}
} else {
console.error("Error parsing edit profile")
console.error(parsedData.error)
return {
message: "Invalid data, parse failed!",
@@ -39,6 +40,9 @@ export async function editProfile(_prevState: State, values: FormData) {
}
} catch (error) {
if (error instanceof ZodError) {
console.error(`ZodError handling profile edit`)
console.error(error)
return {
errors: error.issues.map((issue) => ({
message: `Server validation: ${issue.message}`,
@@ -49,7 +53,7 @@ export async function editProfile(_prevState: State, values: FormData) {
}
}
console.info(`EditProfile Server Action Error`)
console.error(`EditProfile Server Action Error`)
console.error(error)
return {

View File

@@ -35,6 +35,7 @@ export default async function CurrentPreviewPage({
return <ContentPage data={response.data} />
} catch (error) {
// TODO: throw 500
console.error("Error in current preview page")
console.error(error)
throw new Error("Something went wrong")
}

View File

@@ -107,7 +107,7 @@ export async function POST(request: NextRequest) {
return Response.json({ revalidated: true, now: Date.now() })
} catch (error) {
console.info("Failed to revalidate tag(s)")
console.error("Failed to revalidate tag(s)")
console.error(error)
return internalServerError({ revalidated: false, now: Date.now() })
}

View File

@@ -104,6 +104,7 @@ export const config = {
return url
}
} catch (e) {
console.error("Error in auth redirect callback")
console.error(e)
}
}

View File

@@ -68,6 +68,7 @@ export async function request<T>(
return { data: response }
} catch (error) {
console.error("Error in graphql request")
console.error(error)
throw new Error("Something went wrong")
}

View File

@@ -28,6 +28,7 @@ export async function batchRequest<T>(
return { data }
} catch (error) {
console.error("Error in batched graphql request")
console.error(error)
throw new Error("Something went wrong")
}

View File

@@ -35,6 +35,7 @@ export async function previewRequest<T>(
return { data: response }
} catch (error) {
console.error("Error in preview graphql request")
console.error(error)
throw new Error("Something went wrong")
}

View File

@@ -56,7 +56,7 @@ export const middleware: NextMiddleware = async (request, event) => {
} catch (e) {
if (e instanceof NextResponse && e.status) {
const cause = await e.json()
console.error(`Error in middleware`)
console.error(`NextResponse Error in middleware`)
console.error(cause)
return NextResponse.rewrite(

View File

@@ -126,6 +126,7 @@ export const middleware: NextMiddleware = async (request) => {
}
} catch (e) {
if (e instanceof Error) {
console.error("Error in webView middleware")
console.error(`${e.name}: ${e.message}`)
}

View File

@@ -56,7 +56,7 @@ export const accountPageQueryRouter = router({
const validatedAccountPageRefs =
validateAccountPageRefsSchema.safeParse(cleanedData)
if (!validatedAccountPageRefs.success) {
console.info(`Failed to validate My Page Refs - (uid: ${uid})`)
console.error(`Failed to validate My Page Refs - (uid: ${uid})`)
console.error(validatedAccountPageRefs.error)
return null
}
@@ -86,7 +86,7 @@ export const accountPageQueryRouter = router({
)
if (!validatedAccountPage.success) {
console.info(`Failed to validate Account Page - (uid: ${uid})`)
console.error(`Failed to validate Account Page - (uid: ${uid})`)
console.error(validatedAccountPage.error)
return null
}

View File

@@ -47,7 +47,7 @@ export const baseQueryRouter = router({
)
if (!validatedContactConfigConfig.success) {
console.info(
console.error(
`Failed to validate Contact Config Data - (lang: ${ctx.lang})`
)
console.error(validatedContactConfigConfig.error)
@@ -85,7 +85,7 @@ export const baseQueryRouter = router({
)
if (!validatedHeaderConfig.success) {
console.info(`Failed to validate Header - (lang: ${input.lang})`)
console.error(`Failed to validate Header - (lang: ${input.lang})`)
console.error(validatedHeaderConfig.error)
return null
}
@@ -126,7 +126,7 @@ export const baseQueryRouter = router({
)
if (!validatedFooterConfig.success) {
console.info(`Failed to validate Footer - (lang: ${input.lang})`)
console.error(`Failed to validate Footer - (lang: ${input.lang})`)
console.error(validatedFooterConfig.error)
return null
}

View File

@@ -40,7 +40,7 @@ async function getLoyaltyPageBreadcrumbs(variables: Variables) {
)
if (!validatedRefsData.success) {
console.info(
console.error(
`Failed to validate Loyaltypage Breadcrumbs Refs - (url: ${variables.url})`
)
console.error(validatedRefsData.error)
@@ -63,7 +63,7 @@ async function getLoyaltyPageBreadcrumbs(variables: Variables) {
validateLoyaltyPageBreadcrumbsContentstackSchema.safeParse(response.data)
if (!validatedBreadcrumbsData.success) {
console.info(
console.error(
`Failed to validate Loyaltypage Breadcrumbs Data - (url: ${variables.url})`
)
console.error(validatedBreadcrumbsData.error)
@@ -87,7 +87,7 @@ async function getMyPagesBreadcrumbs(variables: Variables) {
refsResponse.data
)
if (!validatedRefsData.success) {
console.info(
console.error(
`Failed to validate My Page Breadcrumbs Refs - (url: ${variables.url})`
)
console.error(validatedRefsData.error)
@@ -110,7 +110,7 @@ async function getMyPagesBreadcrumbs(variables: Variables) {
validateMyPagesBreadcrumbsContentstackSchema.safeParse(response.data)
if (!validatedBreadcrumbsData.success) {
console.info(
console.error(
`Failed to validate My Page Breadcrumbs Data - (url: ${variables.url})`
)
console.error(validatedBreadcrumbsData.error)

View File

@@ -19,7 +19,7 @@ export const hotelPageQueryRouter = router({
const validatedHotelPage = validateHotelPageSchema.safeParse(response.data)
if (!validatedHotelPage.success) {
console.info(
console.error(
`Failed to validate Hotel Page - (uid: ${uid}, lang: ${lang})`
)
console.error(validatedHotelPage.error)

View File

@@ -102,7 +102,7 @@ async function getLanguageSwitcher(options: LanguageSwitcherVariables) {
},
])
default:
console.info(`type: [${options.contentType}]`)
console.error(`type: [${options.contentType}]`)
console.error(`Trying to get a content type that is not supported`)
throw internalServerError()
}
@@ -136,7 +136,7 @@ export const languageSwitcherQueryRouter = router({
validateLanguageSwitcherData.safeParse(urls)
if (!validatedLanguageSwitcherData.success) {
console.info(
console.error(
`Failed to validate Language Switcher Data - (contentType: ${ctx.contentType}, lang: ${ctx.lang}, uid: ${ctx.uid})`
)
console.error(validatedLanguageSwitcherData.error)

View File

@@ -88,7 +88,7 @@ export const loyaltyPageQueryRouter = router({
const validatedLoyaltyPageRefs =
validateLoyaltyPageRefsSchema.safeParse(cleanedData)
if (!validatedLoyaltyPageRefs.success) {
console.info(
console.error(
`Failed to validate Loyaltypage Refs - (lang: ${lang}, uid: ${uid})`
)
console.error(validatedLoyaltyPageRefs.error)
@@ -219,7 +219,7 @@ export const loyaltyPageQueryRouter = router({
validateLoyaltyPageSchema.safeParse(loyaltyPage)
if (!validatedLoyaltyPage.success) {
console.info(
console.error(
`Failed to validate Loyaltypage Data - (lang: ${lang}, uid: ${uid})`
)
console.error(validatedLoyaltyPage.error)

View File

@@ -77,7 +77,7 @@ export const navigationQueryRouter = router({
const validatedMyPagesNavigationRefs =
navigationRefsPayloadSchema.safeParse(refsResponse.data)
if (!validatedMyPagesNavigationRefs.success) {
console.info(
console.error(
`Failed to validate My Pages Navigation Refs - (lang: ${lang}`
)
console.error(validatedMyPagesNavigationRefs.error)
@@ -109,7 +109,7 @@ export const navigationQueryRouter = router({
response.data
)
if (!validatedMyPagesNavigation.success) {
console.info(
console.error(
`Failed to validate My Pages Navigation Data - (lang: ${lang}`
)
console.error(validatedMyPagesNavigation.error)
@@ -126,7 +126,7 @@ export const navigationQueryRouter = router({
const validatedNav = getNavigationSchema.safeParse(nav)
if (!validatedNav.success) {
console.info(
console.error(
`Failed to validate My Pages Navigation Return Data - (lang: ${lang}`
)
console.error(validatedNav.error)

View File

@@ -45,7 +45,7 @@ export const hotelQueryRouter = router({
)
if (!validatedHotelData.success) {
console.info(`Get Individual Hotel Data - Verified Data Error`)
console.error(`Get Individual Hotel Data - Verified Data Error`)
console.error(validatedHotelData.error)
throw badRequestError()
}
@@ -56,7 +56,7 @@ export const hotelQueryRouter = router({
.map((roomCategory) => {
const validatedRoom = RoomSchema.safeParse(roomCategory)
if (!validatedRoom.success) {
console.info(`Get Room Category Data - Verified Data Error`)
console.error(`Get Room Category Data - Verified Data Error`)
console.error(validatedRoom.error)
throw badRequestError()
}
@@ -83,7 +83,7 @@ export const hotelQueryRouter = router({
const validatedHotelData = getRatesSchema.safeParse(tempRatesData)
if (!validatedHotelData.success) {
console.info(`Get Individual Rates Data - Verified Data Error`)
console.error(`Get Individual Rates Data - Verified Data Error`)
console.error(validatedHotelData.error)
throw badRequestError()
}

View File

@@ -50,7 +50,7 @@ async function getVerifiedUser({ session }: { session: Session }) {
const verifiedData = getUserSchema.safeParse(apiJson.data.attributes)
if (!verifiedData.success) {
console.info(
console.error(
`Failed to validate User - (User: ${JSON.stringify(session.user)})`
)
console.error(verifiedData.error)
@@ -248,7 +248,7 @@ export const userQueryRouter = router({
)
if (!previousStaysResponse.ok) {
console.info(
console.error(
`API Response Failed - Getting Previous Stays for tracking user`
)
console.error(previousStaysResponse)
@@ -259,7 +259,7 @@ export const userQueryRouter = router({
const verifiedPreviousStaysData =
getStaysSchema.safeParse(previousStaysApiJson)
if (!verifiedPreviousStaysData.success) {
console.info(`Failed to validate Previous Stays Data for tracking user`)
console.error(`Failed to validate Previous Stays Data for tracking user`)
console.error(verifiedPreviousStaysData.error)
return notLoggedInUserTrackingData
}
@@ -323,8 +323,8 @@ export const userQueryRouter = router({
// default:
// throw internalServerError(apiResponse)
// }
console.info(`API Response Failed - Getting Previous Stays`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`API Response Failed - Getting Previous Stays`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(apiResponse)
return null
}
@@ -333,8 +333,8 @@ export const userQueryRouter = router({
const verifiedData = getStaysSchema.safeParse(apiJson)
if (!verifiedData.success) {
console.info(`Failed to validate Previous Stays Data`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`Failed to validate Previous Stays Data`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(verifiedData.error)
return null
}
@@ -390,8 +390,8 @@ export const userQueryRouter = router({
// default:
// throw internalServerError(apiResponse)
// }
console.info(`API Response Failed - Getting Upcoming Stays`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`API Response Failed - Getting Upcoming Stays`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(apiResponse)
return null
}
@@ -399,8 +399,8 @@ export const userQueryRouter = router({
const apiJson = await apiResponse.json()
const verifiedData = getStaysSchema.safeParse(apiJson)
if (!verifiedData.success) {
console.info(`Failed to validate Upcoming Stays Data`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`Failed to validate Upcoming Stays Data`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(verifiedData.error)
return null
}
@@ -442,8 +442,8 @@ export const userQueryRouter = router({
// default:
// throw internalServerError()
// }
console.info(`API Response Failed - Getting Friend Transactions`)
console.info(`User: (${JSON.stringify(opts.ctx.session.user)})`)
console.error(`API Response Failed - Getting Friend Transactions`)
console.error(`User: (${JSON.stringify(opts.ctx.session.user)})`)
console.error(apiResponse)
return null
}
@@ -451,8 +451,8 @@ export const userQueryRouter = router({
const apiJson = await apiResponse.json()
const verifiedData = getFriendTransactionsSchema.safeParse(apiJson)
if (!verifiedData.success) {
console.info(`Failed to validate Friend Transactions Data`)
console.info(`User: (${JSON.stringify(opts.ctx.session.user)})`)
console.error(`Failed to validate Friend Transactions Data`)
console.error(`User: (${JSON.stringify(opts.ctx.session.user)})`)
console.error(verifiedData.error)
return null
}
@@ -482,8 +482,8 @@ export const userQueryRouter = router({
})
if (!apiResponse.ok) {
console.info(`API Response Failed - Getting Creadit Cards`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`API Response Failed - Getting Creadit Cards`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(apiResponse)
return null
}
@@ -491,8 +491,8 @@ export const userQueryRouter = router({
const apiJson = await apiResponse.json()
const verifiedData = getCreditCardsSchema.safeParse(apiJson)
if (!verifiedData.success) {
console.info(`Failed to validate Credit Cards Data`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`Failed to validate Credit Cards Data`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(verifiedData.error)
return null
}
@@ -519,8 +519,8 @@ export const userQueryRouter = router({
// default:
// throw internalServerError()
// }
console.info(`API Response Failed - Getting Membership Cards`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`API Response Failed - Getting Membership Cards`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(apiResponse)
}
@@ -531,8 +531,8 @@ export const userQueryRouter = router({
)
if (!verifiedData.success) {
console.info(`Failed to validate Memberships Cards Data`)
console.info(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(`Failed to validate Memberships Cards Data`)
console.error(`User: (${JSON.stringify(ctx.session.user)})`)
console.error(verifiedData.error)
return null
}