アプリケーション ログの書き込み

App Engine で実行中のアプリケーションにリクエストが送信されると、リクエストとレスポンスの詳細が自動的に記録されます。これらの情報は、Google Cloud Platform Console の Stackdriver ログビューアで確認できます。

アプリのリクエストとアプリケーション ログは、Stackdriver Logging エージェントによって収集されます。ログの保存ポリシーとログエントリの最大サイズについては、割り当てポリシーをご覧ください。ログを長期間保存する場合は、Cloud Storage にログをエクスポートできます。また、BigQuery や Pub/Sub にログをエクスポートすると、さらに処理を行うことができます。

使用可能なログのリストについては、App Engine フレキシブル環境のログをご覧ください。

アプリケーション ログの書き込み

アプリケーションがリクエストを処理するときに、そのロギング メッセージを stdoutstderr に書き込むことができます。出力には stdout、エラーには stderr を使用して、アプリケーション ログを作成します。これらのファイルは自動的に収集され、ログビューアで表示できます。この場合、ログビューアのフィルタリングに使用可能なログレベルは提供されません。ただし、ログビューアにはテキストやタイムスタンプなどの他のフィルタが用意されています。サイズを制限するために、ログビューアでは最新のエントリだけが保持されます。

アプリケーション ログの表示

アプリケーション ログを表示するには、ログビューアを使用します。

  1. GCP Console で [Stackdriver] > [Logging] ページの順に移動します。

    ログビューア ページに移動

  2. ページ上部で、既存の GCP プロジェクトを選択します。

  3. プルダウン メニューから、リソースタイプとして [GAE アプリケーション] を選択し、App Engine ログを表示します。

ログビューアのプルダウン メニューやその他のコンポーネントを使用して、関連するエントリのログをフィルタリングまたは検索できます。詳細については、ログビューアのフィルタ インターフェースをご覧ください。

アプリケーション ログのフィルタリング

ログビューアでラベルまたはテキスト検索によってログエントリをフィルタリングする方法については、基本ログフィルタをご覧ください。

高度なログフィルタを作成して一連のログエントリを詳細に指定する方法については、高度なログフィルタをご覧ください。

特定のインスタンス、サービス、バージョンに関するログを表示するには、ログビューアで、そのリソースの ID を使ってフィルタリングします。サービス ID とバージョン ID は、App Engine ダッシュボードで確認してください。

ログビューアでは、同じ trace によって関連付けられたログエントリを「親子」形式で表示できます。

ログエントリを関連付ける手順は次のとおりです。

  1. どのアプリログを request ログと関連付けるかを決めます。この関連付けを行うには、request ログタイプ以外のタイプのアプリログを選択する必要があります。

  2. アプリケーション コードで、受信リクエストの X-Cloud-Trace-Context HTTP ヘッダーを探します。このヘッダーからトレース ID を抽出します。詳細については、Stackdriver Trace のサポートをご覧ください。

  3. アプリログのエントリの LogEntry trace フィールドに、trace ID を設定します。使用する形式は、projects/[PROJECT_ID]/traces/[TRACE_ID] です。

ログエントリを関連付けたら、次の手順で関連付けたログエントリを表示します。

  1. ログビューアで App Engine ログを開きます。詳細については、アプリケーション ログの表示をご覧ください。

  2. ログエントリの左側にある小さな黒い三角形をクリックして、request ログを展開します。request ログとアプリログがネストされた形式で表示されます。

また、次の設定を行うこともできます。

  • 「子」のログエントリの最も高い severity は、最上位エントリに自動的には適用されません。この動作が必要な場合は、最も高い severity を最上位エントリに手動で設定してください。
  • 最上位ログの httpRequest.requestUrl フィールドを設定します。

API を使用したログの読み取り

フレキシブル環境で作成された App Engine ログを読み取るための API はありません。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Ruby の App Engine フレキシブル環境に関するドキュメント