Strukturiertes Logging mit Build-Logs verwenden

In diesem Dokument wird beschrieben, wie Sie Ihre Cloud Build-Logs für die Verwendung mit strukturiertem Logging in Cloud Logging konfigurieren.

Mit dem strukturierten Logging können Sie ein JSON-formatiertes Build-Log-Feld als Teil des Felds jsonPayload oder als bestimmtes anderes Feld in einer LogEntry speichern. Sie können Ihre Build-Konfigurationsdatei so einrichten, dass bestimmte Build-Log-Felder so zugeordnet werden, wenn Sie ein Build-Log an Logging senden.

Wenn Ihr Build-Log beispielsweise ein message enthält, wird die Meldung im resultierenden Logeintrag entweder in textPayload oder jsonPayload.message angezeigt. Wenn ein Build-Log-Feld keinem bestimmten Logeintragsfeld zugeordnet werden kann, wird es als Teil des Logeintrags jsonPayload gespeichert.

Build-Log-Felder Logeintragsfeldern zuordnen

Wenn Sie die Feldzuordnung in Ihren Build-Logs aktivieren möchten, setzen Sie das Feld enableStructuredLogging in der BuildOptions auf TRUE.

In der folgenden Tabelle sind die Build-Log-Felder aufgeführt, die einem Logeintragsfeld zugeordnet sind:

BuildLog-Feld (JSON) LogEntry-Feld Beschreibung Hinweise
message textPayload oder jsonPayload.message Hier können Sie die Protokollnachricht festlegen.

Muss ein String sein.

Wenn das Build-Log nur mappable Felder enthält, wird die Meldung in textPayload angezeigt. Andernfalls wird die Meldung in jsonPayload.message angezeigt.

Wenn das Build-Protokoll mehrere Schritte enthält, wird die Schritt-ID am Anfang der Nachricht angezeigt.

severity severity Hier können Sie den Logschweregrad festlegen. Muss ein Enum von LogSeverity sein.

Die folgenden Build-Log-Felder können nicht zugeordnet werden und werden aus dem Logeintrag entfernt, wenn sie in einem Build-Log enthalten sind:

  • 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

Alle anderen Build-Log-Felder werden als Teil des jsonPayload-Felds des Logeintrags angezeigt.