Utilizzare il logging strutturato con i log di compilazione

Questo documento descrive come configurare i log di Cloud Build per l'utilizzo con i log strutturati in Cloud Logging.

La registrazione strutturata ti consente di archiviare un campo del log di compilazione in formato JSON all'interno del campo jsonPayload o di altri campi in un LogEntry. Puoi configurare il file di configurazione di compilazione in modo che i campi specifici dei log di compilazione vengano mappati in questo modo quando invii un log di compilazione a Logging.

Ad esempio, se il log di compilazione contiene un message, il messaggio viene visualizzato in textPayload o jsonPayload.message nella voce del log risultante. Se un campo del log di compilazione non può essere mappato a un campo della voce di log specifico, il campo del log di compilazione viene memorizzato all'interno della voce di log jsonPayload.

Mappa i campi del log di compilazione ai campi di voce di log

Per attivare la mappatura dei campi nei log di compilazione, imposta il campo enableStructuredLogging BuildOptions su TRUE.

La tabella seguente mostra i campi del log di compilazione che mappano a un campo della voce di log:

Campo BuildLog (JSON) Campo LogEntry Descrizione Note
message textPayload o jsonPayload.message Consente di impostare il messaggio di log

Deve essere una stringa.

Se il log di compilazione contiene solo campi mappabili, il messaggio viene visualizzato in textPayload. In caso contrario, il messaggio viene visualizzato in jsonPayload.message.

Se il log di compilazione contiene più passaggi, l'identificatore del passaggio viene visualizzato all'inizio del messaggio.

severity severity Consente di impostare la gravità dei log. Deve essere un enum di LogSeverity.

I seguenti campi del log di compilazione non possono essere mappati e verranno rimossi dalla voce del log se compaiono in un log di compilazione:

  • 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

Tutti gli altri campi del log di compilazione verranno visualizzati all'interno di jsonPayload della voce di log.