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:
@@ -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 {
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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() })
|
||||
}
|
||||
|
||||
1
auth.ts
1
auth.ts
@@ -104,6 +104,7 @@ export const config = {
|
||||
return url
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("Error in auth redirect callback")
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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}`)
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user