文档备案控制台
免费开始使用

影刀RPA进阶教程:流程日志系统搭建——关键节点日志+错误截图+运行报告

流程半夜跑完了,你只知道“失败了”,但不知道失败在哪一步、当时页面长什么样。没有日志的流程就像没有黑匣子的飞机,坠毁了都不知道原因

我也是被坑过好几次才开始认真做日志的。有一次定时任务跑了一整夜,早上起来发现一条数据都没采到,但完全不知道是登录失败了、翻页卡住了、还是Excel写入出了问题。后来花了整整一个上午重新跑一遍、盯着屏幕看,才发现是凌晨网站更新了验证码机制。

搭建一个简单的日志系统——关键节点记下来、出错截个图、跑完发个报告——排查问题从一小时缩到三分钟。下面这套方案实测好用。

日志系统三件套:节点日志+错误截图+运行报告

一个完整的日志系统由三个组件构成,各司其职:

picture.image

组件作用存放位置
关键节点日志记录“做了什么”,方便定位到哪一步本地txt文件 / 输出窗口

| 错误截图 | 出错时保存页面现场,事后看 | 本地文件夹(按时间命名) | | 运行报告 | 汇总本次运行情况(成功数、失败数、耗时) | 飞书/钉钉消息 / Excel汇总表 |

这三个缺一不可。只有日志没有截图,你只知道“第15步出错了”,不知道当时页面什么样;只有截图没有报告,你无法追踪流程长期运行的健康状况。

关键节点日志——用“输出日志”写流水账

picture.image

picture.image 场景:想知道流程跑到了第几页、采了多少条数据。

核心:在流程的关键位置加上“输出日志”指令,内容包含当前步骤和时间。

picture.image

操作步骤

在右侧指令面板搜索“输出日志”,拖到流程的关键位置。以下节点必须加日志:

picture.image

  1. 流程开始:记录开始时间和本次运行的任务名称
  2. 打开网页:记录打开的URL
  3. 登录检测:记录登录状态
  4. 开始采集:记录采集的关键词或起始页码
  5. 每页采集完成:记录本页采集数量

picture.image 6. 翻页:记录当前页码

  1. 数据保存:记录写入的数据量
  2. 通知发送:记录通知是否成功
  3. 流程结束:记录总采集量、总耗时、最终状态

picture.image

影刀实操示例

# 输出日志指令的内容写法
# 流程开始时:
"=== 流程开始 ==="
"当前时间:" + 获取当前时间("yyyy-MM-dd HH:mm:ss")

# 采集过程中:
"开始采集关键词:" + 关键词变量
"第" + str(当前页) + "页采集完成,本页采集" + str(本页数量) + "条"

# 流程结束时:
"流程结束,总计采集" + str(总数量) + "条"

日志分级(进阶)

日志不是越多越好,分级记录能让排查效率翻倍

  • INFO:正常步骤(翻页、采集成功)——每页至少1条
  • WARNING:可忽略的异常(重试成功、元素缺失)——出现就记录
  • ERROR:导致跳过数据的错误——必须记录并截图

存储到本地文件

“输出日志”默认只在影刀的输出窗口显示,流程关闭就没了。定时任务跑完你不可能守在电脑前看输出窗口,所以必须存到本地文件。

picture.image 操作步骤:用“写入文本”指令把日志追加到本地文件。

# 每写一条日志,同时写入txt文件
日志内容 = "2025-12-09 14:30:00 - INFO - 开始第3页采集"
写入文本(文件路径="C:\logs\run.log", 内容=日志内容, 追加=True)

注意:文件路径要提前建好文件夹,否则写入会报错。路径建议用C:\logs\D:\RPA_Logs\不要有中文和空格

错误截图——Catch里存现场

场景:流程跑失败了,你想知道当时浏览器显示什么。

核心:在Try-Catch的Catch块里加“截图保存”指令。

操作步骤

  1. 在可能出错的指令外面包上Try-Catch
  2. 在Catch块的第一行拖入“截图保存
  3. 截图路径用动态变量,避免覆盖

代码示例

# Catch块里
Try:
    截图保存(路径="C:\error_screenshots\error_" + 获取当前时间("yyyyMMdd_HHmmss") + ".png")
    
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/01f181a9819d4f2c954aceda0d56a8cd~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1782908418&x-signature=B1v%2BqDMbsuOpygtB0zn2GTaCUYo%3D)
Catch:
    # 截图本身也可能失败,忽略
    输出日志("截图失败")
# 再记录错误信息
输出日志("错误详情:" + 获取最后一次错误信息())

picture.image 截图范围怎么选

选项适用场景
全屏不确定哪里出错,想保留完整现场
指定窗口知道是浏览器的问题,只需要浏览器画面
指定元素定位到具体元素出错时

我一般用“全屏” ,信息最全。截图的文件名包含时间戳,多次出错不会互相覆盖。

注意一个坑:截图指令本身也可能失败(比如文件夹不存在、磁盘空间不足)。所以在截图指令外面再包一层Try-Catch,截图失败了也不影响后续的错误信息记录。

进阶:同时保存HTML源码

有时候截图还不够——你想看页面背后的HTML结构,但截图只能看到画面。可以在Catch块里再加一个“获取页面源码”指令,把HTML也存下来。事后用文本编辑器打开看,比截图能发现更多细节。

运行报告——跑完发飞书/钉钉通知

场景:流程跑完了,你想知道本次运行的结果——成功还是失败、采了多少条、花了多长时间。

核心:流程结束后,自动生成一条摘要记录,发送到飞书、钉钉或写入Excel。

流程日志——本次执行摘要

每跑完一次流程,生成一条摘要记录:

# 流程结束后生成摘要
开始时间记录 = "{流程开始时间}"
流程摘要():
    结束时间 = 获取当前时间()
    总耗时 = 结束时间 - 开始时间记录
    采集总数 = 获取总采集数()
    翻页总数 = 获取总翻页数()
    错误次数 = 获取错误计数()
    摘要行 = [
        开始时间, 
        结束时间, 
        ToString(总耗时) + "秒", 
        ToString(采集总数), 
        ToString(翻页总数), 
        ToString(错误次数), 
        错误次数 > 0 ? "部分失败" : "成功"
    ]
    追加CSV行("D:\日志\运行摘要.csv", 摘要行)

发送到飞书/钉钉

影刀有“发送飞书消息”和“发送钉钉消息”指令。在流程最后拖入,把摘要信息发到群里。

配置步骤

  1. 在飞书/钉钉群创建自定义机器人
  2. 获取Webhook地址
  3. 在影刀指令里填入Webhook地址和消息内容
# 发送飞书消息示例
发送飞书消息(
    Webhook地址="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx",
    消息内容="【运行报告】\n开始时间:{开始时间}\n结束时间:{结束时间}\n总耗时:{总耗时}秒\n采集总数:{采集总数}条\n错误次数:{错误次数}次\n状态:{状态}"
)

注意:消息内容里不要包含敏感信息(账号密码、客户数据等),飞书/钉钉消息是明文传输的。

运行历史——长期趋势分析

单次运行的日志只能解决“今天出了什么问题”。如果你想知道“这个流程最近一个月稳定性怎么样”、“哪一天采集量突然下降了”,就需要运行历史

建立运行摘要CSV

每跑完一次,把摘要追加到同一个CSV文件里。字段包括:

字段说明
开始时间流程启动时间
结束时间流程结束时间
总耗时单位:秒
采集总数本次采集的数据条数
翻页总数本次翻页次数
错误次数Catch块被触发的次数
状态成功/部分失败/失败

积累一个月的数据后,用Excel打开这个CSV,做个折线图看趋势——哪几天失败了、平均耗时有没有变长、采集量有没有下降。这些信息能帮你提前发现潜在问题(比如网站变慢了、页面改版了)。

影刀自带的运行日志

影刀本身也记录了所有运行结果。在客户端里点击 触发器 → 运行日志,可以看到每次执行的开始时间、触发方式和最终结果。

还可以对单个应用的运行日志进行操作:

  • 查看日志:查看详细运行情况
  • 导出日志:导出到本地文件
  • 运行回放:回放整个执行过程

运行回放这个功能很实用——相当于看了一遍流程执行的录像,比看日志直观得多。在 用户设置 中可以开启。

调度模式下日志丢失的排查

如果你用调度模式跑定时任务,发现运行日志消失了,排查方向有这几个:

  1. 在控制台创建任务时,勾选“日志上云” 相关选项——即使未开启本地调度模式,也能通过控制台查看日志
  2. 检查机器账号是否异地登录导致调度退出
  3. 检查账号与任务绑定是否匹配
  4. 检查客户端是否正常连接——需登录客户端并切换至调度模式

社区版用户注意:社区版不支持调度模式,以上问题只出现在创业版及以上。

自定义指令的详细日志

如果你写了自定义指令(Python脚本或封装好的指令块),排查报错时默认的日志信息可能不够用。

在自定义指令编辑界面,找到「日志设置」选项:

  • ✅ 勾选“输出行号信息
  • ✅ 勾选“详细报错日志

开启后,执行指令时会记录每一步的运行状态,报错时能精确到行号。

五个常见问题速查

问题现象根本原因修复方法
输出窗口有日志但本地文件是空的忘记加“写入文本”指令在“输出日志”后面加“写入文本”存到文件
截图文件夹里没有图片截图路径文件夹不存在提前建好文件夹,或在截图前用“创建文件夹”指令
飞书/钉钉没收到报告Webhook地址错误或网络不通检查地址是否正确,测试网络连通性
运行日志突然消失了(调度模式)未勾选“日志上云”在控制台创建任务时勾选日志上云选项
日志文件越来越大占满磁盘没有清理机制每月手动清理或写一个清理子流程,定期删除30天前的日志

推荐资源

  • 影刀官方帮助文档搜索“运行日志”或“触发器”,有完整的配置说明
  • 影刀客户端:触发器 → 运行日志,查看所有历史执行记录
  • 影刀社区搜索“日志系统”或“运行报告”,有大量实战案例分享

#影刀RPA #RPA自动化 #日志系统 #运行报告 #异常处理 #定时任务

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。如果这篇文章对你有帮助,欢迎点赞收藏,下一篇我们聊“飞书多维表格联动与消息通知的完整方案”。

0
0
0
0
评论
未登录
暂无评论