Power Automate 中的自定义日志记录

发布: (2026年1月20日 GMT+8 03:58)
7 min read
原文: Dev.to

Source: Dev.to

Cover image for Custom Logging in Power Automate

Jake Mannion

简易、实用的 DIY 方法,使用 SharePoint Online 列表

📅 最初发布于 2025年 1月 1日

检查事件、错误和结果

优雅地处理错误 在你的流程逻辑中很重要。有大量指南可供参考:

我们如何在不翻阅大量流程运行历史的情况下调查异常?

如果 Azure Application Insights 的集成不在范围内,且 Automation Center 中的信息不够细致,请考虑 自定义事件日志

场景 / 用例

  • 🏭 在预期会有一定失败率的批量内容操作中
  • 📆 构建涉及时间顺序活动和事件的解决方案
  • 🧺 将流错误集中收集在一个位置,而不是依赖“推送”通知
  • 🤖 为来自更高环境或服务账户上下文的运行提供可见性
  • 🖥 在自动化上下文旁显示流结果数据(用于 SPO 场景)

日志列表示例

审批事件历史

Approval Event History

计划自动化

Scheduled Automation

批量内容同步

Bulk Content Sync

创建日志或事件列表

没有完美的配方,但典型的列表包括:

  • 运行结果(成功、错误、警告等)
  • 结果详情
  • 关联项标题
  • 关联项 ID
  • 流运行 ID

添加任何您需要的 场景特定列

提示: 保持简洁——尽可能使用单行文本列。避免使用选项字段、查找或其他复杂数据类型。

对于 ALM 场景,您可能还需要:

  • 流名称
  • 解决方案名称
  • 环境

配置技巧

  • 禁用列表的搜索(高级设置)或将权限限制为相关受众。

    Disable search on the list

  • 为需要用于排序或筛选的列建立索引

  • 若要存储 JSON 输出,请添加一个 多行纯文本列

    Multi‑line plain text column

  • 创建 视图 并添加 自定义列格式化(参见 Microsoft Docs)以提升可读性。

  • 条目开始填充后,重新审视列表——你可能会想到需要捕获的其他字段。

克隆现有列表

假设自定义日志记录证明是有用的,您可能希望通过克隆现有列表并调整列/视图以适应新场景来创建更多列表。

(内容继续…)

添加日志操作

一旦列表准备就绪,就可以开始添加一些流程逻辑。新的日志条目将使用 Create Item 操作来添加。

添加日志步骤有两种通用方法——两者都能实现相同的结果,但考虑因素不同。

1. 添加到现有流程

可以在 现有 流程逻辑中随意插入日志操作,使用复制 / 粘贴。

logging actions

优点缺点
简单、快速的方式如果列表架构更改,可能需要更新(并查找)所有之前添加的操作
无额外许可费用除非手动操作,否则以后无法添加额外操作(例如发送通知)
可以存储复杂数据类型、JSON
使用现有的 SharePoint Online 连接/引用(如果已有)

2. 创建独立的日志流程

另一种做法是创建一个单独的流程(HTTP 触发器或 child solution flow),用于存放日志步骤。

create a separate flow

创建后,根据需要从现有流程中调用它:

invoke it from existing flow

优点缺点
以后如果需要扩展会更容易需要额外的设置时间和复杂度
能处理复杂数据类型(仅限 HTTP 触发器)需要高级许可(仅限 HTTP 触发器)
一个日志流程可以被多个解决方案/流程共享需要收集并发送父工作流上下文
可选择异步运行——不会阻塞父流程

💡 提示: 别忘了为 HTTP‑触发器流程添加 Response 操作,或为子解决方案流程添加 Respond to Power Apps or Flow 操作。

其他说明

  • Retry policies – 在调用独立日志流或调用 Create Item 日志操作时,考虑禁用重试策略。如果日志出现问题,不希望阻塞父流程的运行。

  • Hierarchical logging – 为记录层级流程结果,在父流程开始、结束以及每一次子流程迭代时创建日志条目。保存一个共享标识符(例如,父流程运行 ID),以便后续对条目进行分组。

    logging hierarchical flow outcomes

  • Aggregated metrics – 计算整体流程运行时长、错误和成功总数等,可以为特定运行的最终日志条目增添价值。只有在额外洞察值得投入时才加入此逻辑。

  • Scope of logging – 您可以使用此处描述的技术仅存储 errors / exceptions only,也可以根据情况包括成功结果和其他事件类型。

Tools & Options Mentioned

  • ShareGate – 迁移工具

  • Microsoft Lists – 原生 SharePoint 列表解决方案

    使用现有列表 选项在 SharePoint UI(位于 Site contents

    SharePoint UI

Back to Blog

相关文章

阅读更多 »