Detalles de Functions

Detalles de registro para logs de Functions.

Recursos

  • applications

Categorías de log

Valor de API (ID): Consola (nombre mostrado) Descripción
invoke Logs de llamada a una función Registra las entradas cada vez que se llama a una función en una aplicación.

Disponibilidad

El registro de Functions está disponible en todas las regiones de los dominios comerciales.

Comentarios

Si activa el registro para una aplicación, los logs de llamada por defecto se crean cada vez que se invocan las funciones de la aplicación, de la siguiente forma:

  • El log de inicio de llamada por defecto contiene el siguiente mensaje:

    Received function invocation request
  • El log de finalización de llamada por defecto contiene el siguiente mensaje (un código de error solo se incluye si se producen errores):

    Served function invocation request in <number> seconds [with error code <number> - <message>]

Para almacenar y ver logs para una función (que no sean los logs de llamada por defecto), debe agregar sentencias de impresión a la función. Por ejemplo:

  • Para el nodo js:

    console.log('Entering Hello Node.js function');
  • Para java:

    System.out.println("Entering Java Hello World Function");
  • Para go:

    fmt.Println("Entering Hello Go function")

Contenido de un registro de Functions

Propiedad Descripción
specversion Versión de esquema del registro de Oracle Cloud Infrastructure del log.
type Categoría de log, según la convención com.oraclecloud.{service}.{resource-type}.{log-category}. Solo actualmente:
com.oraclecloud.functions.application.functioninvoke
source Nombre mostrado de la aplicación a la que está asociado el log.
subject Nombre mostrado de la función a la que está asociado el log.
id UUID aleatorio, único para cada entrada de log.
time Hora a la que se generó la salida de la función en formato de registro de hora de RFC 3339.
oracle.logid OCID del objeto de log de registro de Oracle Cloud Infrastructure.
oracle.loggroupid OCID del grupo de logs de registro de Oracle Cloud Infrastructure.
oracle.compartmentid OCID del compartimento en el que está la función/aplicación.
oracle.tenantid OCID del arrendamiento en el que está la función/aplicación.
oracle.ingestedtime Hora a la que se ingirió la línea de log mediante el registro de Oracle Cloud Infrastructure en formato de registro de hora de RFC 3339.
data.applicationId OCID de la aplicación a la que está asociada la línea de log.
data.containerId Identificador específico del servicio FaaS del contenedor de la función.
data.functionId OCID de la función a la que está asociada la línea de log.
data.requestId Oracle RID de la llamada de función a la que está asociada la línea de log. En desuso, utilice data.opcRequestId en su lugar.
data.opcRequestId RID de Oracle de la llamada a la función a la que está asociada la línea de log.
data.src Origen del flujo de E/S de data.message. STDOUT o STDERR.
data.message Línea de salida generada por el usuario desde la función.

Ejemplo de log de Functions

{
  "specversion": "1.0",
  "type": "com.oraclecloud.functions.application.functioninvoke",
  "source": "Application display name",
  "subject": "Function display name",
  "id": "487c8669-f384-4c79-950a-d6df47246093",
  "time": "2020-08-19T15:33:29.000Z",
  "oracle": {
    "logid": "ocid1.log.oc1.iad.<unique_ID>",
    "loggroupid": "ocid1.loggroup.oc1.iad.<unique_ID>",
    "compartmentid": "ocid1.compartment.oc1..<unique_ID>",
    "tenantid": "ocid1.tenancy.oc1..<unique_ID>",
    "ingestedtime": "2020-08-19T15:33:30.832Z"
  },
  "data": {
    "applicationId": "ocid1.fnapp.oc1.iad.<unique_ID>",
    "containerId": "01EG3NMHG6000000000000022S",
    "functionId": "ocid1.fnfunc.oc1.iad.<unique_ID>",
    "requestId": "/01EG3NN3C11BT19PGZJ00000VZ/01EG3NN3C11BT19PGZJ00000W0",
    "opcRequestId": "/01EG3NN3C11BT19PGZJ00000VZ/01EG3NN3C11BT19PGZJ00000W0",
    "src": "STDERR",
    "message": "2020-08-19 15:33:29,124 - fdk.event_handler - INFO - request execution completed"
  }
}

Nombre de objeto de log de Functions

Los objetos que almacenan datos del log de Functions utilizan el siguiente formato de nomenclatura:

log/<function-OCID>/<YYYY-MM-DDTHH_MMZ>[_<seqNum>].log.gz

Por ejemplo:

log/ocid1.function.oc1.phx.<unique_ID>/2019-03-21T00_00Z.log.gz
log/ocid1.function.oc1.phx.<unique_ID>/2019-03-21T00_00Z_2.log.gz

Uso de la Interfaz de Línea de Comandos (CLI)

Consulte Ejemplo de Functions para ver un comando de ejemplo para activar el registro de Functions.