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

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 フレキシブル環境に関するドキュメント