コンテンツにスキップ

Sentry

Sentry Pages Pluginは、あなたのPages Functionsの実行チェーン内で発生するすべての例外をキャプチャし、ログに記録します。したがって、このPluginはアプリケーションのルートであるfunctions/_middleware.tsに最初のPluginとしてインストールすることをお勧めします。

インストール

Terminal window
npm install @cloudflare/pages-plugin-sentry

使用法

import sentryPlugin from "@cloudflare/pages-plugin-sentry";
export const onRequest: PagesFunction = sentryPlugin({
dsn: "https://sentry.io/welcome/xyz",
});

このPluginはToucanを使用しています。ToucanのREADMEを参照して、利用可能なオプションを確認してください。contextrequest、およびeventは自動的に設定され、手動で構成する必要はありません。

DSNが環境変数またはKVに保持されている場合、次のようにアクセスできます:

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);
};

追加のコンテキスト

Sentryに追加のコンテキスト(例えば、ユーザー情報や追加のログ)を設定する必要がある場合は、Pluginの下にある任意のFunction内でdata.sentryインスタンスを使用してください。

例えば、次のようにdata.sentryにアクセスしてユーザー情報を設定できます:

import type { PluginData } from "@cloudflare/pages-plugin-sentry";
export const onRequest: PagesFunction<unknown, any, PluginData> = async ({
data,
next,
}) => {
// リクエストからユーザーを認証し、ユーザーのメールアドレスを抽出
const email = await getEmailFromRequest(request);
data.sentry.setUser({ email });
return next();
};

再度、機能の完全なリストはToucanのドキュメントで確認できます。