Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

デバッグとログ

最終更新 Markdown で表示Agent セットアップ

Functions のログは、Cloudflare ダッシュボードまたは Wrangler CLI で確認できます。

ログは強力なデバッグツールです。デプロイ後の Pages Functions の挙動をテストし、監視できます。ログは、Pages プロジェクトのすべてのデプロイで利用できます。

ログはイベントの詳細を提供し、次のような洞察を得られます。

  • Functions への成功または失敗したリクエスト
  • Functions がスローした未捕捉の例外
  • Functions 内で宣言したカスタムの console.log
  • 簡単に再現できない本番の問題
  • アプリケーションへの受信リクエストのリアルタイム表示

ログセッションを開始する方法は 2 つあります。

  1. ターミナルwrangler pages deployment tail を実行します。
  2. 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 を実行する

ダッシュボードには次のように表示されます。

上記の手順でダッシュボードのカスタムログにアクセスする

Wrangler でログを表示する

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 のドキュメント を参照してください。

Cloudflare ダッシュボードでログを表示する

任意のデプロイに関連する production または preview 環境のログを表示するには、次の手順を実行します。

  1. Cloudflare ダッシュボードで Workers & Pages ページを開きます。

    Workers & Pages を開く ↗
  2. Pages プロジェクトを選択し、ログを表示したいデプロイを開いて、View details > Functions を選択します。

ログはすべてのお客様(Free、Paid、Enterprise)で利用できます。

制限

Functions のログには、次の制限があります。

  • ログは保存されません。いつでもストリームを開始・停止して表示できますが、永続化されません。
  • 直近 5 分間の Function の 1 秒あたりのリクエストが 100 を超えると、ログは表示されません。
  • Functions がバインドする Durable Objects からのログは、Cloudflare ダッシュボードに表示されます。
  • 1 つのデプロイのログを同時に表示できるクライアントは最大 10 です。ダッシュボードセッションと wrangler pages deployment tail の呼び出しを合わせた数です。

ソースマップ

未捕捉の例外をデバッグするとき、ログの スタックトレース に、生成された JavaScript ファイルの行番号が含まれることがあります。Pages の ソースマップ 対応を使うと、元のソースコードの行番号とシンボルに一致するスタックトレースを取得できます。

詳しくは ソースマップとスタックトレース を参照してください。

役に立ちましたか?