En este documento se explica cómo dar formato a la entrada de registro cuando quiera usar Cloud Logging para informar de eventos de error.
Puedes informar de eventos de error a tu Google Cloud proyecto ejecutando el método de la API Cloud Logging write o el método de la API Error Reporting report.
Cuando informas de eventos de error mediante la API de Cloud Logging, el cuerpo de la solicitud contiene un objeto LogEntry que debe incluir un seguimiento de pila o un objeto ReportedErrorEvent.
Antes de empezar
Sigue las instrucciones de configuración para tu idioma y plataforma.
Si necesitas la autenticación basada en claves de API, debes usar la API Error Reporting. Para registrar un evento de error mediante la API Error Reporting, ejecuta el método
reporty da formato al cuerpo de la solicitud del método como un objetoReportedErrorEvent.Cuando usas la API Error Reporting, se generan automáticamente entradas de registro con mensajes de error con el formato adecuado y se escriben en Cloud Logging. Estas entradas de registro se escriben en un registro cuyo
logNametiene el siguiente formato:projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors
Como las entradas de registro se generan mediante llamadas a
report, es posible que se te apliquen costes de ingestión de Cloud Logging. Para controlar qué entradas de registro se ingieren, consulta Filtros de exclusión.Si informa de eventos de error mediante la API Error Reporting, el resto de este documento no se aplica.
Requisitos de formato LogEntry
En esta sección se describe cómo dar formato a un LogEntry para que Error Reporting registre el evento de error que contiene la entrada de registro.
Registrar un rastreo de la pila
Para registrar un evento de error que sea un seguimiento de pila, escribe el evento de error como uno de estos tipos:
- Un
textPayloadde varias líneas. Un
jsonPayloadque incluye un campomessage,stack_traceoexception.Puede especificar más de uno de esos campos. Si se especifica más de uno de esos campos, el orden de evaluación es el siguiente:
stack_trace,exceptionymessage.Si se evalúa el campo de mensaje y no está vacío, la traza de pila se captura solo cuando el campo contiene una traza de pila en uno de los formatos de lenguaje de programación admitidos. Error Reporting no captura el seguimiento de la pila cuando se usa un formato no admitido.
Si el evento de error tiene el formato de un objeto
ReportedErrorEvent, copia sus campos enjsonPayload. Para obtener más información y un ejemplo, consulta Registrar un error con el formato de un objetoReportedErrorEvent.Un
jsonPayloadque no incluye los camposmessage,stack_traceniexception, pero sí incluye un rastreo de pila.Informes de errores busca en todos los campos de un
jsonPayloadpara rastrear la pila. Si se encuentra más de un seguimiento de pila, se selecciona uno. El algoritmo de selección asegura una elección coherente.
Registrar un mensaje de texto
Para registrar un evento de error que sea un mensaje de texto, usa el siguiente formato para jsonPayload:
"jsonPayload": {
"@type": "type.googleapis.com/google.devtools.clouderrorreporting.v1beta1.ReportedErrorEvent",
"message": "Text message"
},
Cuando asignas al campo @type el valor especificado, Error Reporting siempre evalúa la entrada de registro como si estuvieran presentes todos los campos obligatorios. Como resultado, Error Reporting captura el evento de error.
Si asigna al campo @type otro valor o no le asigna ninguno, Cloud Logging buscará el campo etiquetado como serviceContext para determinar si la carga útil es un objeto ReportedErrorEvent.
No es necesario que defina el campo @type cuando los campos message,