Ir a la consola

Escribe y visualiza registros

Los registros son una herramienta importante para depurar y supervisar código. Cloud Functions te proporciona el mismo objeto console que recibirías mientras desarrollas para la Web.

Escribe registros

Registros simples

Para emitir una línea de registro de tu función, usa llamadas de registro de JavaScript estándar, como console.log y console.error, de la siguiente manera:

exports.helloError = functions.https.onRequest((request, response) => {
  console.log('I am a log entry!');
  response.send('Hello World...');
});
  • Los comandos console.log() tienen el nivel de registro INFO.
  • Los comandos console.info() tienen el nivel de registro INFO.
  • Los comandos console.warn() tienen el nivel de registro ERROR.
  • Los comandos console.error() tienen el nivel de registro ERROR.
  • Los mensajes internos del sistema tienen el nivel de registro DEBUG.

Registros de Stackdriver personalizados

Los registros de Cloud Functions tienen el respaldo de Stackdriver Logging. Puedes usar la biblioteca de Stackdriver Logging para Node.js a fin de registrar eventos con datos estructurados y simplificar la supervisión y el análisis.

const { Logging } = require('@google-cloud/logging');
// ...

// Instantiate the StackDriver Logging SDK. The project ID will
// be automatically inferred from the Cloud Functions environment.
const logging = new Logging();
const log = logging.log('my-custom-log-name');

// This metadata is attached to each log entry. This specifies a fake
// Cloud Function called 'Custom Metrics' in order to make your custom
// log entries appear in the Cloud Functions logs viewer.
const METADATA = {
  resource: {
    type: 'cloud_function',
    labels: {
      function_name: 'CustomMetrics',
      region: 'us-central1'
    }
  }
};
// ...

// Data to write to the log. This can be a JSON object with any properties
// of the event you want to record.
const data = {
  event: 'my-event',
  value: 'foo-bar-baz',

  // Optional 'message' property will show up in the Firebase
  // console and other human-readable logging surfaces
  message: 'my-event: foo-bar-baz'
};

// Write to the log. The log.write() call returns a Promise if you want to
// make sure that the log was written successfully.
const entry = log.entry(METADATA, data);
log.write(entry);

Visualiza los registros

Los registros para Cloud Functions se pueden ver en Firebase console, la IU de Stackdriver Logging o mediante la herramienta de línea de comandos de firebase.

Usa Firebase CLI

Para ver registros con la herramienta de firebase, utiliza el comando functions:log:

firebase functions:log

Para ver los registros de una función específica, proporciona el nombre de la función como argumento:

firebase functions:log --only <FUNCTION_NAME>

Para conocer todas las opciones de visualización de registros, consulta la ayuda de functions:log:

firebase help functions:log

Usa Firebase console

Puedes ver registros de Cloud Functions en Firebase console.

Usa la IU de Stackdriver Logging

Puedes ver registros de Cloud Functions en la IU de Stackdriver Logging.

Analiza los registros

Stackdriver Logging ofrece un conjunto eficaz de herramientas de análisis de registros que puedes usar para supervisar las funciones de Cloud Functions. Estas herramientas son especialmente útiles cuando se emplean con registros personalizados.

Métricas basadas en registros

En la IU de Stackdriver Logging, usa el campo de filtro avanzado para reducir el alcance de los registros a la función que quieres analizar. Luego, haz clic en Enviar filtro a fin de filtrar los registros. Por ejemplo, puedes analizar los registros de una sola función de la siguiente manera:

resource.type="cloud_function"
resource.labels.function_name="myCloudFunction"
resource.labels.region="us-central1"

Si registraste eventos con cargas útiles personalizadas de JSON, puedes filtrar los registros con las claves y los valores que proporcionaste, de la siguiente manera:

resource.type="cloud_function"
resource.labels.function_name="CustomMetrics"
jsonPayload.event="my-event"

Una vez que filtres los registros, podrás analizarlos con las métricas basadas en registros. Haz clic en el botón Crear métrica para abrir el editor y seleccionar un tipo de métrica:

  • Las métricas de contadores cuentan la cantidad de entradas de registros que coinciden con un filtro. Por ejemplo, puedes contar la cantidad de veces que ocurre cierto evento.
  • Las métricas de distribución acumulan datos numéricos de entradas de registros que coinciden con un filtro. Por ejemplo, podrías realizar el seguimiento de las latencias de ciertas operaciones dentro de tus funciones.

En el caso de los registros basados en texto, como los que se generan mediante console.log() en las funciones, puedes usar expresiones regulares para extraer valores y etiquetas del campo textPayload. En el caso de los registros personalizados con datos estructurados, puedes acceder directamente a los datos del campo jsonPayload.

Gráficos y alertas

Una vez que crees métricas basadas en registros para supervisar tus funciones, puedes usarlas con el fin de crear gráficos y alertas. Por ejemplo, podrías crear un gráfico para visualizar la latencia a lo largo del tiempo o crear una alerta a fin de saber si un error se produce con mucha frecuencia.

Consulta Crea gráficos y alertas para obtener información detallada sobre cómo usar métricas basadas en registros en políticas de alertas y gráficos.