流程半夜跑完了,你只知道“失败了”,但不知道失败在哪一步、当时页面长什么样。没有日志的流程就像没有黑匣子的飞机,坠毁了都不知道原因。
我也是被坑过好几次才开始认真做日志的。有一次定时任务跑了一整夜,早上起来发现一条数据都没采到,但完全不知道是登录失败了、翻页卡住了、还是Excel写入出了问题。后来花了整整一个上午重新跑一遍、盯着屏幕看,才发现是凌晨网站更新了验证码机制。
搭建一个简单的日志系统——关键节点记下来、出错截个图、跑完发个报告——排查问题从一小时缩到三分钟。下面这套方案实测好用。
日志系统三件套:节点日志+错误截图+运行报告
一个完整的日志系统由三个组件构成,各司其职:
| 组件 | 作用 | 存放位置 |
|---|---|---|
| 关键节点日志 | 记录“做了什么”,方便定位到哪一步 | 本地txt文件 / 输出窗口 |
| 错误截图 | 出错时保存页面现场,事后看 | 本地文件夹(按时间命名) | | 运行报告 | 汇总本次运行情况(成功数、失败数、耗时) | 飞书/钉钉消息 / Excel汇总表 |
这三个缺一不可。只有日志没有截图,你只知道“第15步出错了”,不知道当时页面什么样;只有截图没有报告,你无法追踪流程长期运行的健康状况。
关键节点日志——用“输出日志”写流水账
场景:想知道流程跑到了第几页、采了多少条数据。
核心:在流程的关键位置加上“输出日志”指令,内容包含当前步骤和时间。
操作步骤
在右侧指令面板搜索“输出日志”,拖到流程的关键位置。以下节点必须加日志:
- 流程开始:记录开始时间和本次运行的任务名称
- 打开网页:记录打开的URL
- 登录检测:记录登录状态
- 开始采集:记录采集的关键词或起始页码
- 每页采集完成:记录本页采集数量
6. 翻页:记录当前页码
- 数据保存:记录写入的数据量
- 通知发送:记录通知是否成功
- 流程结束:记录总采集量、总耗时、最终状态
影刀实操示例
# 输出日志指令的内容写法
# 流程开始时:
"=== 流程开始 ==="
"当前时间:" + 获取当前时间("yyyy-MM-dd HH:mm:ss")
# 采集过程中:
"开始采集关键词:" + 关键词变量
"第" + str(当前页) + "页采集完成,本页采集" + str(本页数量) + "条"
# 流程结束时:
"流程结束,总计采集" + str(总数量) + "条"
日志分级(进阶)
日志不是越多越好,分级记录能让排查效率翻倍:
- INFO:正常步骤(翻页、采集成功)——每页至少1条
- WARNING:可忽略的异常(重试成功、元素缺失)——出现就记录
- ERROR:导致跳过数据的错误——必须记录并截图
存储到本地文件
“输出日志”默认只在影刀的输出窗口显示,流程关闭就没了。定时任务跑完你不可能守在电脑前看输出窗口,所以必须存到本地文件。
操作步骤:用“写入文本”指令把日志追加到本地文件。
# 每写一条日志,同时写入txt文件
日志内容 = "2025-12-09 14:30:00 - INFO - 开始第3页采集"
写入文本(文件路径="C:\logs\run.log", 内容=日志内容, 追加=True)
注意:文件路径要提前建好文件夹,否则写入会报错。路径建议用C:\logs\或D:\RPA_Logs\,不要有中文和空格。
错误截图——Catch里存现场
场景:流程跑失败了,你想知道当时浏览器显示什么。
核心:在Try-Catch的Catch块里加“截图保存”指令。
操作步骤
- 在可能出错的指令外面包上Try-Catch
- 在Catch块的第一行拖入“截图保存”
- 截图路径用动态变量,避免覆盖
代码示例
# Catch块里
Try:
截图保存(路径="C:\error_screenshots\error_" + 获取当前时间("yyyyMMdd_HHmmss") + ".png")

Catch:
# 截图本身也可能失败,忽略
输出日志("截图失败")
# 再记录错误信息
输出日志("错误详情:" + 获取最后一次错误信息())
截图范围怎么选?
| 选项 | 适用场景 |
|---|---|
| 全屏 | 不确定哪里出错,想保留完整现场 |
| 指定窗口 | 知道是浏览器的问题,只需要浏览器画面 |
| 指定元素 | 定位到具体元素出错时 |
我一般用“全屏” ,信息最全。截图的文件名包含时间戳,多次出错不会互相覆盖。
注意一个坑:截图指令本身也可能失败(比如文件夹不存在、磁盘空间不足)。所以在截图指令外面再包一层Try-Catch,截图失败了也不影响后续的错误信息记录。
进阶:同时保存HTML源码
有时候截图还不够——你想看页面背后的HTML结构,但截图只能看到画面。可以在Catch块里再加一个“获取页面源码”指令,把HTML也存下来。事后用文本编辑器打开看,比截图能发现更多细节。
运行报告——跑完发飞书/钉钉通知
场景:流程跑完了,你想知道本次运行的结果——成功还是失败、采了多少条、花了多长时间。
核心:流程结束后,自动生成一条摘要记录,发送到飞书、钉钉或写入Excel。
流程日志——本次执行摘要
每跑完一次流程,生成一条摘要记录:
# 流程结束后生成摘要
开始时间记录 = "{流程开始时间}"
流程摘要():
结束时间 = 获取当前时间()
总耗时 = 结束时间 - 开始时间记录
采集总数 = 获取总采集数()
翻页总数 = 获取总翻页数()
错误次数 = 获取错误计数()
摘要行 = [
开始时间,
结束时间,
ToString(总耗时) + "秒",
ToString(采集总数),
ToString(翻页总数),
ToString(错误次数),
错误次数 > 0 ? "部分失败" : "成功"
]
追加CSV行("D:\日志\运行摘要.csv", 摘要行)
发送到飞书/钉钉
影刀有“发送飞书消息”和“发送钉钉消息”指令。在流程最后拖入,把摘要信息发到群里。
配置步骤:
- 在飞书/钉钉群创建自定义机器人
- 获取Webhook地址
- 在影刀指令里填入Webhook地址和消息内容
# 发送飞书消息示例
发送飞书消息(
Webhook地址="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx",
消息内容="【运行报告】\n开始时间:{开始时间}\n结束时间:{结束时间}\n总耗时:{总耗时}秒\n采集总数:{采集总数}条\n错误次数:{错误次数}次\n状态:{状态}"
)
注意:消息内容里不要包含敏感信息(账号密码、客户数据等),飞书/钉钉消息是明文传输的。
运行历史——长期趋势分析
单次运行的日志只能解决“今天出了什么问题”。如果你想知道“这个流程最近一个月稳定性怎么样”、“哪一天采集量突然下降了”,就需要运行历史。
建立运行摘要CSV
每跑完一次,把摘要追加到同一个CSV文件里。字段包括:
| 字段 | 说明 |
|---|---|
| 开始时间 | 流程启动时间 |
| 结束时间 | 流程结束时间 |
| 总耗时 | 单位:秒 |
| 采集总数 | 本次采集的数据条数 |
| 翻页总数 | 本次翻页次数 |
| 错误次数 | Catch块被触发的次数 |
| 状态 | 成功/部分失败/失败 |
积累一个月的数据后,用Excel打开这个CSV,做个折线图看趋势——哪几天失败了、平均耗时有没有变长、采集量有没有下降。这些信息能帮你提前发现潜在问题(比如网站变慢了、页面改版了)。
影刀自带的运行日志
影刀本身也记录了所有运行结果。在客户端里点击 触发器 → 运行日志,可以看到每次执行的开始时间、触发方式和最终结果。
还可以对单个应用的运行日志进行操作:
- 查看日志:查看详细运行情况
- 导出日志:导出到本地文件
- 运行回放:回放整个执行过程
运行回放这个功能很实用——相当于看了一遍流程执行的录像,比看日志直观得多。在 用户设置 中可以开启。
调度模式下日志丢失的排查
如果你用调度模式跑定时任务,发现运行日志消失了,排查方向有这几个:
- 在控制台创建任务时,勾选“日志上云” 相关选项——即使未开启本地调度模式,也能通过控制台查看日志
- 检查机器账号是否异地登录导致调度退出
- 检查账号与任务绑定是否匹配
- 检查客户端是否正常连接——需登录客户端并切换至调度模式
社区版用户注意:社区版不支持调度模式,以上问题只出现在创业版及以上。
自定义指令的详细日志
如果你写了自定义指令(Python脚本或封装好的指令块),排查报错时默认的日志信息可能不够用。
在自定义指令编辑界面,找到「日志设置」选项:
- ✅ 勾选“输出行号信息”
- ✅ 勾选“详细报错日志”
开启后,执行指令时会记录每一步的运行状态,报错时能精确到行号。
五个常见问题速查
| 问题现象 | 根本原因 | 修复方法 |
|---|---|---|
| 输出窗口有日志但本地文件是空的 | 忘记加“写入文本”指令 | 在“输出日志”后面加“写入文本”存到文件 |
| 截图文件夹里没有图片 | 截图路径文件夹不存在 | 提前建好文件夹,或在截图前用“创建文件夹”指令 |
| 飞书/钉钉没收到报告 | Webhook地址错误或网络不通 | 检查地址是否正确,测试网络连通性 |
| 运行日志突然消失了(调度模式) | 未勾选“日志上云” | 在控制台创建任务时勾选日志上云选项 |
| 日志文件越来越大占满磁盘 | 没有清理机制 | 每月手动清理或写一个清理子流程,定期删除30天前的日志 |
推荐资源
- 影刀官方帮助文档搜索“运行日志”或“触发器”,有完整的配置说明
- 影刀客户端:触发器 → 运行日志,查看所有历史执行记录
- 影刀社区搜索“日志系统”或“运行报告”,有大量实战案例分享
#影刀RPA #RPA自动化 #日志系统 #运行报告 #异常处理 #定时任务
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。如果这篇文章对你有帮助,欢迎点赞收藏,下一篇我们聊“飞书多维表格联动与消息通知的完整方案”。
