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

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

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

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

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

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

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

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

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

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

  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 識別子を設定します。projects/[PROJECT_ID]/traces/[TRACE_ID] という形式で指定してください。

ログエントリを相互に関連付けた後、次の手順に従って、関連するログエントリを表示します。

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

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

補足:

  • 親子関係の子に相当するログエントリの最も高い severity が最上位のエントリに自動的に適用されることはありません。それが希望の動作ならば、最上位のエントリに最も高い severity を手動で設定してください。
  • 最上位ログの httpRequest.requestUrl フィールドを設定します。

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

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

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

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

Go の App Engine フレキシブル環境