このドキュメントでは、構造化ロギングのコンセプトと、ログエントリのペイロード フィールドに構造を追加する方法について説明します。ログペイロードが JSON オブジェクトとしてフォーマットされ、そのオブジェクトが jsonPayload フィールドに保存されている場合、ログエントリは構造化ログと呼ばれます。これらのログでは、特定の JSON パスを検索するクエリを作成できます。また、ログペイロード内の特定のフィールドをインデックスに登録できます。一方、ログペイロードが文字列としてフォーマットされ、textPayload フィールドに格納されている場合、ログエントリは非構造化になります。テキスト フィールドは検索できますが、コンテンツをインデックスに登録することはできません。
構造化ログエントリを作成するには、次のいずれかを行います。
entries.writeAPI メソッドを呼び出し、完全にフォーマットされた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 リファレンスをご覧ください。
次のステップ
ログエントリをクエリして表示するには、ログ エクスプローラを使用してログを表示するをご覧ください。
Google Cloud CLI を使用してログエントリを読み取る方法については、ログエントリを読み取るをご覧ください。
Logging API を介してログエントリを読み取る場合は、
entries.listメソッドをご覧ください。