構造化ロギング

このドキュメントでは、構造化ロギングのコンセプトと、ログエントリのペイロード フィールドに構造を追加する方法について説明します。ログペイロードが JSON オブジェクトとしてフォーマットされ、そのオブジェクトが jsonPayload フィールドに保存されている場合、ログエントリは構造化ログと呼ばれます。これらのログでは、特定の JSON パスを検索するクエリを作成できます。また、ログペイロード内の特定のフィールドをインデックスに登録できます。一方、ログペイロードが文字列としてフォーマットされ、textPayload フィールドに格納されている場合、ログエントリは非構造化になります。テキスト フィールドは検索できますが、コンテンツをインデックスに登録することはできません。

構造化ログエントリを作成するには、次のいずれかを行います。

  • entries.write API メソッドを呼び出し、完全にフォーマットされた LogEntry を指定します。
  • gcloud logging write コマンドを使用します。
  • 構造化ログを書き込む Cloud Logging クライアント ライブラリを使用します。

これらのアプローチの詳細については、以降のセクションをご覧ください。

クライアント ライブラリまたは API を使用してログを書き込む

ログデータを書き込むには、Cloud Logging API を呼び出す Cloud Logging クライアント ライブラリを使用するか、Cloud Logging API を直接呼び出します。また、クライアント ライブラリでは、一部の情報を自動的に取得し、フィールドに入力するためのインターフェースが提供されるため、特別な JSON フィールドを簡単に入力できます。ただし、ペイロードの構造を完全に制御するには、Cloud Logging API を直接呼び出して、完全な LogEntry 構造を Cloud Logging API に渡します。

詳細については、entries.write リファレンスをご覧ください。

コード例については、構造化ログの書き込みをご覧ください。

gcloud CLI を使用してログを書き込む

ログデータを書き込むには、gcloud CLI を使用します。このインターフェースは、非構造化ログと構造化ログをサポートしています。構造化ログを書き込むには、シリアル化された JSON オブジェクトをコマンドに指定します。

クイックスタートについては、Google Cloud CLI を使用したログエントリの書き込みとクエリをご覧ください。

コード例については、gcloud logging write リファレンスをご覧ください。

次のステップ