ビルドログで構造化ロギングを使用する

このドキュメントでは、Cloud Logging の構造化ロギングで使用するように Cloud Build ログを構成する方法について説明します。

構造化ロギングを使用すると、JSON 形式のビルドログ フィールドを jsonPayload フィールドの一部として、または特定の他のフィールドとして LogEntry に保存できます。ビルドログを Logging に送信するときに、特定のビルドログ フィールドがこのようにマッピングされるように、ビルド構成ファイルを設定できます。

たとえば、ビルドログに message が含まれている場合、生成されたログエントリの textPayload または jsonPayload.message にメッセージが表示されます。ビルドログ フィールドを特定のログエントリ フィールドにマッピングできない場合、ビルドログ フィールドはログエントリ jsonPayload の一部として保存されます。

ビルドログ フィールドをログエントリ フィールドにマッピングする

ビルドログでフィールド マッピングを有効にするには、BuildOptions フィールドの enableStructuredLoggingTRUE に設定します。

次の表に、ログエントリ フィールドにマッピングされるビルドログ フィールドを示します。

BuildLog フィールド(JSON) LogEntry フィールド 説明 メモ
message textPayload または jsonPayload.message ログメッセージを設定できます

文字列にする必要があります。

ビルドログにマッピング可能なフィールドのみが含まれている場合、メッセージは textPayload に表示されます。それ以外の場合は、jsonPayload.message にメッセージが表示されます。

ビルドログに複数のステップが含まれている場合、ステップ ID がメッセージの先頭に表示されます。

severity severity ログの重大度を設定できます。 LogSeverity の列挙型にする必要があります。

次のビルドログ フィールドはマッピングできないため、ビルドログに表示された場合、ログエントリから削除されます。

  • httpRequest
  • logging.googleapis.com/insertId
  • logging.googleapis.com/labels
  • logging.googleapis.com/operation
  • logging.googleapis.com/sourceLocation
  • logging.googleapis.com/spanId
  • logging.googleapis.com/trace
  • logging.googleapis.com/trace_sampled
  • time
  • timestamp
  • timestampSeconds
  • timestampNanos

他のビルドログ フィールドはすべて、ログエントリの jsonPayload の一部として表示されます。