Merged in feature/wrap-logging (pull request #2511)

Feature/wrap logging

* feat: change all logging to go through our own logger function so that we can control log levels

* move packages/trpc to using our own logger

* merge


Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2025-07-03 12:37:04 +00:00
parent 7e32ed294d
commit daf765f3d5
110 changed files with 681 additions and 441 deletions
@@ -4,6 +4,7 @@ import { z } from "zod"
import { Lang } from "@scandic-hotels/common/constants/language"
import { getCacheClient } from "@scandic-hotels/common/dataCache"
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
import { generateHotelUrlTag } from "@scandic-hotels/trpc/utils/generateTag"
import { env } from "@/env/server"
@@ -24,22 +25,25 @@ const validateJsonBody = z.object({
}),
})
const revalidateHotelLogger = createLogger("revalidate-hotel")
export async function POST(request: NextRequest) {
try {
const headersList = await headers()
const secret = headersList.get("x-revalidate-secret")
if (secret !== env.REVALIDATE_SECRET) {
console.error(`Invalid Secret`)
console.error({ secret })
revalidateHotelLogger.error(`Invalid Secret`, { secret })
return badRequest({ revalidated: false, now: Date.now() })
}
const data = await request.json()
const validatedData = validateJsonBody.safeParse(data)
if (!validatedData.success) {
console.error("Bad validation for `validatedData` in hotel revalidation")
console.error(validatedData.error)
revalidateHotelLogger.error(
"Bad validation for `validatedData` in hotel revalidation",
validatedData.error
)
return internalServerError({ revalidated: false, now: Date.now() })
}
@@ -56,21 +60,20 @@ export async function POST(request: NextRequest) {
if (content_type.uid === "hotel_page") {
tag = generateHotelUrlTag(locale, entry.hotel_page_id)
} else {
console.error(
revalidateHotelLogger.error(
`Invalid content_type, received ${content_type.uid}, expected "hotel_page"`
)
return notFound({ revalidated: false, now: Date.now() })
}
console.info(`Revalidating hotel url tag: ${tag}`)
revalidateHotelLogger.info(`Revalidating hotel url tag: ${tag}`)
revalidateTag(tag)
const cacheClient = await getCacheClient()
await cacheClient.deleteKey(tag, { fuzzy: true })
return Response.json({ revalidated: true, now: Date.now() })
} catch (error) {
console.error("Failed to revalidate tag(s) for hotel")
console.error(error)
revalidateHotelLogger.error("Failed to revalidate tag(s) for hotel", error)
return internalServerError({ revalidated: false, now: Date.now() })
}
}