← Cloudflare Pages / pages / functions / plugins
Sentry
Sentry Pages Plugin zachytává a zaznamenává všechny výjimky, ke kterým dojde níže v řetězci provádění vašich Pages Functions. Proto doporučujeme tento plugin instalovat v kořeni aplikace, v souboru functions/_middleware.ts jako úplně první Plugin.
Instalace
npm i @cloudflare/pages-plugin-sentryPoužití
import sentryPlugin from "@cloudflare/pages-plugin-sentry";
export const onRequest: PagesFunction = sentryPlugin({
dsn: "https://sentry.io/welcome/xyz",
});Plugin používá Toucan ↗. Postup najdete v README projektu Toucan, kde prohlédnout si možnosti, které může přijímat ↗. context, request, a event se vyplňují automaticky a neměly by se nastavovat ručně.
Pokud váš DSN ↗ je uložený jako proměnná prostředí nebo v KV, můžete k němu přistupovat takto:
import sentryPlugin from "@cloudflare/pages-plugin-sentry";
export const onRequest: PagesFunction<{
SENTRY_DSN: string;
}> = (context) => {
return sentryPlugin({ dsn: context.env.SENTRY_DSN })(context);
};import sentryPlugin from "@cloudflare/pages-plugin-sentry";
export const onRequest: PagesFunction<{
KV: KVNamespace;
}> = async (context) => {
return sentryPlugin({ dsn: await context.env.KV.get("SENTRY_DSN") })(context);
};Další kontext
Pokud potřebujete pro Sentry nastavit další kontext (například informace o uživateli nebo další logy), použijte data.sentry instanci v jakékoli funkci umístěné pod pluginem v řetězci zpracování.
Můžete například přistupovat k data.sentry a nastavte informace o uživateli takto:
import type { PluginData } from "@cloudflare/pages-plugin-sentry";
export const onRequest: PagesFunction<unknown, any, PluginData> = async ({
data,
next,
}) => {
// Authenticate the user from the request and extract user's email address
const email = await getEmailFromRequest(request);
data.sentry.setUser({ email });
return next();
};Úplný seznam funkcí opět najdete v Dokumentace nástroje Toucan ↗.