将日志发送到 Cloud Logging

Workflows 会自动为 Cloud Logging 中的工作流执行生成执行日志

您还可以启用调用日志记录。或者,您可以创建使用来源中的 sys.log 函数的自定义日志。使用调用日志记录和自定义日志,您可以控制在工作流执行期间日志发送到 Logging 的时间,并且在调试工作流时尤其有用。

如需了解详情(包括 engine_callexecutions_system 日志记录 proto 文件),请参阅此 GitHub 代码库

执行日志

每个工作流执行都至少会自动触发两个执行日志:一个在执行开始时,一个在执行结束时。

如需详细了解 Logging 中提供的 Workflows 平台日志,请参阅 Google Cloud Platform 日志

调用日志记录

您可以设置标志,以便记录工作流执行期间的每个调用步骤,以及返回步骤名称、函数名称、函数参数和调用响应。或者,您可以记录被捕获或停止调用的任何异常。

系统只会记录明确的调用步骤;例如,对子工作流或库函数的调用。系统不会记录在表达式或标准库函数(例如,sys.log 中的 http.post)内以及连接器内的调用。

HTTP Authorization 请求标头会从 HTTP 调用日志中隐去。

将调用日志记录应用于工作流定义工作流执行时,您可以指定所需的日志记录级别。除非未指定执行日志级别(默认值),否则执行日志级别优先于任何工作流日志级别;在这种情况下,将应用工作流日志级别。

请注意,由 Cloud Logging 设置的日志条目大小限制也适用于通话记录。

自定义日志

如需在工作流执行期间在 Logging 中创建日志条目,请在工作流中定义调用 sys.log 函数的步骤:

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

创建日志条目时,请定义以下内容:

  • TEXT:必填。要记录的文本。如果您需要记录映射的值,请使用 ${json.encode_to_string(myMap)}
  • SEVERITY:可选。日志条目的严重级别。例如 INFOWARNINGCRITICAL

如需了解详情,请参阅 sys.log 函数参考文档

所需权限

如需应用调用日志记录或将自定义日志发送到 Logging,工作流必须与具有 logging.logEntries.create 权限的服务账号相关联(例如 roles/logging.logWriter 角色)。如果您需要更改与您的工作流一起更新的服务账号,请参阅更新工作流。如需详细了解如何创建服务账号并分配角色,请参阅管理对项目、文件夹和组织的访问权限

查看工作流日志

您可以在 Workflows 或 Logging 中查看日志。如需查看单个工作流的日志,请使用 Workflows 中的日志标签页。如需获取所有工作流的日志的汇总视图,请使用 Logging 中的日志浏览器页面。

在 Workflows 中查看日志

如需在 Workflows 中查看工作流的日志,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 Workflows 页面:

    进入 Workflows

  2. 如需访问工作流的日志,请点击工作流的名称以转到其详情页面。

  3. 如需查看日志,请点击日志

  4. 要按严重性过滤日志,请在默认列表中选择要显示的日志类型。默认情况下,系统会显示所有严重程度的日志。

工作流详情页面上的日志标签页会显示以下类型的日志:

  • 发送到 Logging 的日志

  • 对工作流执行的任何操作(例如更新工作流定义)的审核日志

在 Logging 中查看日志

如需在 Logging 中查看日志,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志浏览器页面:

    转到 Logs Explorer

  2. 查询构建器中,点击资源并输入 workflow。从列表中选择 Cloud 工作流,然后点击添加

    工作流日志记录

  3. 点击运行查询

如需详细了解如何在 Logging 查看日志,请参阅使用日志浏览器

后续步骤