Ausführungsprotokolle an Cloud Logging senden

Workflows generiert automatisch Ausführungslogs für Workflowausführungen in Cloud Logging.

Sie können auch das Aufruf-Logging aktivieren. Alternativ können Sie benutzerdefinierte Logs erstellen, die die Funktion sys.log in Ihrer Quelle verwenden. Mit Logging und benutzerdefinierten Logs können Sie steuern, wann Logs während der Ausführung eines Workflows an Logging gesendet werden. Dies kann besonders hilfreich sein, wenn Sie Ihren Workflow debuggen.

Weitere Informationen, einschließlich der Proto-Dateien engine_call und executions_system, finden Sie in diesem GitHub-Repository.

Ausführungsprotokolle

Jede Workflowausführung löst automatisch mindestens zwei Ausführungslogs aus: eines zu Beginn einer Ausführung und eines am Ende.

Weitere Informationen zu den Logs der Workflow-Plattform, die in Logging verfügbar sind, finden Sie unter Logs der Google Cloud Platform.

Anruf-Logging

Sie können ein Flag festlegen, damit jeder Aufrufschritt während der Ausführung Ihres Workflows protokolliert wird und Schrittnamen, Funktionsnamen, Funktionsargumente und Aufrufantworten zurückgegeben werden. Sie können auch alle Ausnahmen protokollieren, die abgefangen werden oder einen Aufruf beenden.

Es werden nur explizite Aufrufschritte protokolliert. beispielsweise Aufrufe an untergeordnete Workflows oder Bibliotheksfunktionen. Aufrufe innerhalb von Ausdrücken oder innerhalb von Standardbibliotheksfunktionen (z. B. http.post in sys.log) und innerhalb von Connectors werden nicht in Logs erfasst.

HTTP-Authorization-Anfrageheader werden aus den Protokollen für HTTP-Aufrufe entfernt.

Wenn Sie das Aufruf-Logging auf eine Workflow-Definition oder die Ausführung eines Workflows anwenden, können Sie die erforderliche Logging-Ebene angeben. Die Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.

Das von Cloud Logging festgelegte Limit für die Größe von Logeinträgen gilt auch für das Anrufprotokoll.

Benutzerdefinierte Logs

Zum Erstellen eines Logeintrags in Logging während einer Workflow-Ausführung definieren Sie einen Schritt im Workflow, der einen Aufruf der Funktion sys.log der Standardbibliothek ausführt:

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

Definieren Sie beim Erstellen eines Logeintrags Folgendes:

  • TEXT: erforderlich. Der zu protokollierende Text. Wenn Sie die Werte einer Karte protokollieren möchten, verwenden Sie ${json.encode_to_string(myMap)}.
  • SEVERITY: Optional. Der Schweregrad des Logeintrags. Beispiel: INFO, WARNING oder CRITICAL.

Weitere Informationen finden Sie in der sys.logFunktionsreferenz.

Erforderliche Berechtigungen

Zum Anwenden von Aufruf-Logging oder zum Senden benutzerdefinierter Logs an Logging muss ein Workflow mit einem Dienstkonto verknüpft sein, das die Berechtigung logging.logEntries.create enthält (z. B. die Rolle roles/logging.logWriter). Informationen zum Ändern des mit Ihrem Workflow aktualisierten Dienstkontos finden Sie unter Workflow aktualisieren. Weitere Informationen zum Erstellen von Dienstkonten und Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Workflow-Logs ansehen

Sie können Logs in Workflows oder in Logging aufrufen. Wenn Sie die Logs für einen einzelnen Workflow aufrufen möchten, verwenden Sie den Tab Logs in Workflows. Eine zusammengefasste Ansicht der Logs für alle Ihre Workflows erhalten Sie auf der Seite Log-Explorer in Logging.

Logs in Workflows aufrufen

So rufen Sie die Logs eines Workflows in Workflows auf:

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie zum Aufrufen der Logs eines Workflows auf dessen Namen, um dessen Seite Details aufzurufen.

  3. Klicken Sie zum Anzeigen der Logs auf Logs.

  4. Wählen Sie in der Liste Standard den Logtyp aus, der angezeigt werden soll, um die Logs nach Schweregrad zu filtern. Standardmäßig werden Logs aller Schweregrade angezeigt.

Auf dem Tab Logs auf der Seite Details eines Workflows werden die folgenden Logtypen angezeigt:

  • An Logging gesendete Logs

  • Audit-Logs aller Vorgänge, die für den Workflow ausgeführt werden, z. B. Aktualisierungen der Workflow-Definition

Logs in Logging aufrufen

So rufen Sie Logs in Logging auf:

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf:

    Zum Log-Explorer

  2. Klicken Sie im Query Builder auf Ressource und geben Sie workflow ein. Wählen Sie Cloud Workflow aus der Liste aus und klicken Sie auf Add.

    Workflow-Logging

  3. Klicken Sie auf Abfrage ausführen.

Weitere Informationen zum Anzeigen von Logs in Logging finden Sie unter Log-Explorer verwenden.

Nächste Schritte