INTEGRITY Dokumentace

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-sentry

Použ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.