Functions のログは、Cloudflare ダッシュボードまたは Wrangler CLI で確認できます。
ログは強力なデバッグツールです。デプロイ後の Pages Functions の挙動をテストし、監視できます。ログは、Pages プロジェクトのすべてのデプロイで利用できます。
ログはイベントの詳細を提供し、次のような洞察を得られます。
- Functions への成功または失敗したリクエスト
- Functions がスローした未捕捉の例外
- Functions 内で宣言したカスタムの
console.log - 簡単に再現できない本番の問題
- アプリケーションへの受信リクエストのリアルタイム表示
ログセッションを開始する方法は 2 つあります。
- ターミナル で
wrangler pages deployment tailを実行します。 - Cloudflare ダッシュボード を使います。
カスタムログは、Functions 内に自分で追加する console.log() 文です。これらの Functions を含むデプロイのログをストリーミングすると、文は wrangler pages deployment tail とダッシュボードの両方に表示されます。
Pages Function 内のカスタム console.log 文の例です。
export async function onRequest(context) {
console.log(
`[LOGGING FROM /hello]: Request came from ${context.request.url}`,
);
return new Response("Hello, world!");
}上記のコードをデプロイしたあと、ターミナルで wrangler pages deployment tail を実行します。次に、Function があるルートにアクセスします。ターミナルには次のように表示されます。
ダッシュボードには次のように表示されます。
wrangler pages deployment tail を使うと、特定のプロジェクトとデプロイのログをライブストリーミングできます。
始めるには、Pages プロジェクトのディレクトリで wrangler pages deployment tail を実行します。アプリケーションへの受信リクエストが、ローカルターミナルに記録されます。
各 wrangler pages deployment tail のログ出力は、構造化された JSON オブジェクトです。
{
"outcome": "ok",
"scriptName": null,
"exceptions": [
{
"stack": " at src/routes/index.tsx17:4\n at new Promise (<anonymous>)\n",
"name": "Error",
"message": "An error has occurred",
"timestamp": 1668542036110
}
],
"logs": [],
"eventTimestamp": 1668542036104,
"event": {
"request": {
"url": "https://pages-fns.pages.dev",
"method": "GET",
"headers": {},
"cf": {}
},
"response": {
"status": 200
}
},
"id": 0
}wrangler pages deployment tail では、ログセッションをニーズに合わせてカスタマイズできます。利用できる設定オプションは、wrangler pages deployment tail のドキュメント を参照してください。
任意のデプロイに関連する production または preview 環境のログを表示するには、次の手順を実行します。
-
Cloudflare ダッシュボードで Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Pages プロジェクトを選択し、ログを表示したいデプロイを開いて、View details > Functions を選択します。
ログはすべてのお客様(Free、Paid、Enterprise)で利用できます。
Functions のログには、次の制限があります。
- ログは保存されません。いつでもストリームを開始・停止して表示できますが、永続化されません。
- 直近 5 分間の Function の 1 秒あたりのリクエストが 100 を超えると、ログは表示されません。
- Functions がバインドする Durable Objects からのログは、Cloudflare ダッシュボードに表示されます。
- 1 つのデプロイのログを同時に表示できるクライアントは最大 10 です。ダッシュボードセッションと
wrangler pages deployment tailの呼び出しを合わせた数です。
未捕捉の例外をデバッグするとき、ログの スタックトレース ↗ に、生成された JavaScript ファイルの行番号が含まれることがあります。Pages の ソースマップ ↗ 対応を使うと、元のソースコードの行番号とシンボルに一致するスタックトレースを取得できます。
詳しくは ソースマップとスタックトレース を参照してください。