Informations détaillées sur le service des fonctions

Détails de journalisation pour les journaux de fonctions.

Ressources

  • applications

Catégories de journaux

Valeur d'API (ID) : Console (Nom d'affichage) Description
invoke Function Invocation Logs Enregistre les entrées chaque fois qu'une fonction d'une application est appelée.

Disponibilité

La journalisation pour le service Fonctions est disponible dans toutes les régions des domaines commerciaux.

Commentaires

Si vous activez la journalisation pour une application, des journaux d'appel par défaut sont créés chaque fois que des fonctions de l'application sont appelées, comme suit :

  • Le journal de début d'appel par défaut contient le message suivant :

    Received function invocation request
  • Le journal de fin d'appel par défaut contient le message suivant (un code d'erreur n'est inclus que si des erreurs se produisent) :

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

Pour stocker et consulter les journaux d'une fonction (autres que les journaux d'appel par défaut), vous devez ajouter des instructions d'impression à votre fonction. Par exemple :

  • Pour les noeuds js :

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

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

    fmt.Println("Entering Hello Go function")

Contenu d'un journal du service des fonctions

Propriété Description
specversion Version du schéma du journal pour la journalisation pour Oracle Cloud Infrastructure.
type Catégorie de journal, conformément à la convention com.oraclecloud.{service}.{resource-type}.{log-category}. Actuellement seulement :
com.oraclecloud.functions.application.functioninvoke
source Nom d'affichage de l'application à laquelle le journal est associé.
subject Nom d'affichage de la fonction à laquelle le journal est associé.
id UUID aléatoire, unique pour chaque entrée de journal.
time Heure à laquelle la sortie de la fonction a été générée, dans le format d'horodatage RFC 3339.
oracle.logid OCID de l'objet de journal du service de journalisation pour Oracle Cloud Infrastructure.
oracle.loggroupid OCID du groupe de journaux du service de journalisation pour Oracle Cloud Infrastructure.
oracle.compartmentid OCID du compartiment dans lequel se trouve la fonction/l'application.
oracle.tenantid OCID de la location dans laquelle se trouve la fonction/l'application.
oracle.ingestedtime Heure à laquelle la ligne de journal a été ingérée par la journalisation pour Oracle Cloud Infrastructure, dans le format d'horodatage RFC 3339.
data.applicationId OCID de l'application à laquelle la ligne de journal est associée.
data.containerId ID propre au service FaaS du conteneur de la fonction.
data.functionId OCID de la fonction à laquelle la ligne de journal est associée.
data.requestId ID Oracle de l'appel de la fonction auquel la ligne de journal est associée. Obsolète, utilisez plutôt data.opcRequestId.
data.opcRequestId RID Oracle de l'appel de fonction auquel la ligne de journal est associée.
data.src Origine du flux d'E/S de data.message. STDOUT ou STDERR.
data.message Ligne de sortie générée par l'utilisateur à partir de la fonction.

Exemple de journal du service des fonctions

{
  "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"
  }
}

Nom d'objet de journal du service des fonctions

Les objets qui stockent les données de journal du service Fonctions utilisent le format d'attribution de nom suivant :

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

Par exemple :

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

Utilisation de l'interface de ligne de commande (CLI)

Voir Exemple de fonctions pour un exemple de commande permettant d'activer la journalisation pour le service Fonctions.