Envoyer des journaux à Cloud Logging.

Les workflows génèrent automatiquement des journaux d'exécution pour les exécutions de workflows dans Cloud Logging.

Vous pouvez également activer la journalisation des appels. Vous pouvez également créer des journaux personnalisés qui utilisent la fonction sys.log dans votre source. La journalisation des appels et les journaux personnalisés vous permettent de contrôler le moment où les journaux sont envoyés à Logging lors de l'exécution d'un workflow. Ils peuvent être particulièrement utiles lors du débogage de votre workflow.

Pour plus d'informations, y compris les fichiers proto de journalisation engine_call et executions_system, consultez ce dépôt GitHub.

Journaux d'exécution

Chaque exécution de workflow déclenche automatiquement au moins deux journaux d'exécution : l'un au début et l'autre à la fin.

Pour en savoir plus sur les journaux de la plate-forme Workflows disponibles dans Logging, consultez la page Journaux Google Cloud Platform.

Journalisation des appels

Vous pouvez définir un indicateur pour que chaque étape d'appel lors de l'exécution de votre workflow soit journalisée et que les noms des étapes, les noms des fonctions, les arguments des fonctions et les réponses aux appels soient renvoyés. Vous pouvez également consigner les exceptions interceptées ou qui arrêtent un appel.

Seules les étapes explicites des appels sont consignées. par exemple des appels à des sous-workflows ou à des fonctions de bibliothèque. Les appels provenant des expressions ou des fonctions standards de la bibliothèque (par exemple, http.post dans sys.log) et des connecteurs internes ne sont pas enregistrés.

Les en-têtes de requête HTTP Authorization sont masqués dans les journaux pour les appels HTTP.

Lorsque vous appliquez la journalisation des appels à une définition de workflow ou à l'exécution d'un workflow, vous pouvez spécifier le niveau de journalisation requis. Le niveau de journalisation de l'exécution prévaut sur tous les niveaux de journalisation du workflow, sauf si le niveau de journalisation de l'exécution n'est pas spécifié (par défaut). Dans ce cas, le niveau de journalisation du workflow s'applique.

Notez que la limite de taille des entrées de journal définie par Cloud Logging s'applique également à la journalisation des appels.

de journaux personnalisés ;

Pour créer une entrée de journal dans Logging lors de l'exécution d'un workflow, définissez une étape dans le workflow qui appelle la fonction sys.log de la bibliothèque standard:

YAML

  - step1:
      assign:
          - varA: "Hello"
          - varB: "World"
  - logStep:
      call: sys.log
      args:
          text: TEXT
          severity: SEVERITY 
  - step2:
      return: ${varA + " " + varB}
    

JSON

    [
      {
        "step1": {
          "assign": [
            {
              "varA": "Hello"
            },
            {
              "varB": "World"
            }
          ]
        }
      },
      {
        "logStep": {
          "call": "sys.log",
          "args": {
            "text": "TEXT",
            "severity": "SEVERITY"
          }
        }
      },
      {
        "step2": {
          "return": "${varA + " " + varB}"
        }
      }
    ]
      

Lors de la création d'une entrée de journal, définissez les éléments suivants:

  • TEXT : Obligatoire. Texte à consigner. Si vous devez consigner les valeurs d'une carte, utilisez ${json.encode_to_string(myMap)}.
  • SEVERITY : Facultatif. Niveau de gravité de l'entrée de journal. Par exemple, INFO, WARNING ou CRITICAL.

Pour en savoir plus, consultez la documentation de référence sur la fonction sys.log.

Autorisations requises

Pour appliquer la journalisation des appels ou envoyer des journaux personnalisés à Logging, un workflow doit être associé à un compte de service incluant l'autorisation logging.logEntries.create (par exemple, le rôle roles/logging.logWriter). Si vous devez modifier le compte de service mis à jour avec votre workflow, consultez la section Mettre à jour un workflow. Pour en savoir plus sur la création de comptes de service et l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Afficher les journaux de workflow

Vous pouvez afficher les journaux dans Workflows ou Logging. Pour afficher les journaux d'un seul workflow, utilisez l'onglet Logs (Journaux) de Workflows. Pour obtenir une vue globale des journaux de tous vos workflows, utilisez la page Explorateur de journaux de Logging.

Afficher les journaux dans Workflows

Pour afficher les journaux d'un workflow dans Workflows, procédez comme suit:

  1. Dans Google Cloud Console, accédez à la page Workflows :

    Accéder à "Workflows"

  2. Pour accéder aux journaux d'un workflow, cliquez sur le nom de ce dernier pour accéder à la page Détails correspondante.

  3. Pour afficher les journaux, cliquez sur Journaux.

  4. Pour filtrer les journaux par gravité, sélectionnez le type de journal à afficher dans la liste Default (Par défaut). Les journaux de tous les niveaux de gravité sont affichés par défaut.

L'onglet Journaux de la page Détails d'un workflow affiche les types de journaux suivants:

  • Journaux envoyés à Logging

  • Journaux d'audit de toutes les opérations effectuées sur le workflow, telles que des mises à jour de la définition du workflow

Afficher les journaux dans Logging

Pour afficher les journaux dans Logging, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux:

    Accéder à l'explorateur de journaux

  2. Dans Générateur de requêtes, cliquez sur Ressource, puis saisissez workflow. Sélectionnez Cloud Workflow dans la liste, puis cliquez sur Ajouter.

    Journalisation des workflows

  3. Cliquez sur Run query.

Pour en savoir plus sur l'affichage des journaux dans Logging, consultez la page Utiliser l'explorateur de journaux.

Étapes suivantes