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 Google Cloud -Plattform-Logs.

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