Utiliser la journalisation structurée avec les journaux de compilation

Ce document explique comment configurer vos journaux Cloud Build pour les utiliser avec la journalisation structurée dans Cloud Logging.

La journalisation structurée vous permet de stocker un champ de journal de compilation au format JSON dans le champ jsonPayload ou dans certains autres champs, dans un LogEntry. Vous pouvez configurer votre fichier de configuration de compilation afin que des champs de journal de compilation spécifiques soient mappés de cette manière lorsque vous envoyez un journal de compilation à Logging.

Par exemple, si votre journal de compilation contient un message, le message s'affiche dans textPayload ou jsonPayload.message dans l'entrée de journal générée. Si un champ de journal de compilation ne peut pas être mappé sur un champ d'entrée de journal spécifique, il est stocké dans le champ jsonPayload de l'entrée de journal.

Mappage des champs de journal de compilation sur les champs d'entrée de journal

Pour activer le mappage des champs dans vos journaux de compilation, définissez le champ enableStructuredLogging de BuildOptions sur TRUE.

Le tableau suivant présente les champs de journal de compilation qui sont mappés à un champ d'entrée de journal:

Champ BuildLog (JSON) Champ LogEntry Description Remarques
message textPayload ou jsonPayload.message Vous permet de définir le message du journal

Doit être une chaîne.

Si le journal de compilation ne contient que des champs mappables, le message s'affiche dans textPayload. Sinon, le message s'affiche dans jsonPayload.message.

Si le journal de compilation contient plusieurs étapes, l'identifiant de l'étape s'affiche au début du message.

severity severity Permet de définir le niveau de gravité du journal. Doit être un énumération de LogSeverity.

Les champs de journal de compilation suivants ne peuvent pas être mappés et seront supprimés de l'entrée de journal s'ils apparaissent dans un journal de compilation:

  • 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

Tous les autres champs de journal de compilation s'affichent dans jsonPayload de l'entrée de journal.