Usar a geração de registros estruturados com registros de build

Neste documento, descrevemos como configurar seus registros do Cloud Build para uso com o registro estruturado no Cloud Logging.

O registro estruturado permite armazenar um campo de registro de build formatado em JSON como parte do campo jsonPayload ou de outros campos, em um LogEntry. É possível configurar o arquivo de configuração do build para que campos específicos do registro de build sejam mapeados dessa maneira quando você enviar um registro de build para o Logging.

Por exemplo, se o registro de build contiver um message, a mensagem vai aparecer em textPayload ou jsonPayload.message na entrada de registro resultante. Se um campo de registro de build não puder ser mapeado para um campo de entrada de registro específico, ele será armazenado como parte da entrada de registro jsonPayload.

Mapear campos de registro de build para campos de entrada de registro

Para ativar o mapeamento de campo nos registros de build, defina o campo BuildOptions enableStructuredLogging como TRUE.

A tabela a seguir mostra os campos de registro de build que são mapeados para um campo de entrada de registro:

Campo BuildLog (JSON) Campo LogEntry Descrição Observações
message textPayload ou jsonPayload.message Permite definir a mensagem de registro

Precisa ser uma string.

Se o build log contiver apenas campos mapeáveis, a mensagem vai aparecer em textPayload. Caso contrário, a mensagem vai aparecer em jsonPayload.message.

Se o build log tiver várias etapas, o identificador de etapa vai aparecer no início da mensagem.

severity severity Permite definir a gravidade do registro. Precisa ser um tipo enumerado de LogSeverity.

Os campos de registro de build a seguir não podem ser mapeados e serão removidos da entrada de registro se aparecerem em um registro de build:

  • 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

Todos os outros campos de registro de build vão aparecer como parte do jsonPayload da entrada de registro.