影刀RPA实操指南:日志系统三层搭建与运行报告分析

流程跑完没报错,但数据就是不对,你根本不知道哪一步出了问题。

这是最让人抓狂的情况。我刚开始用影刀RPA做拼多多采集时,全靠“输出日志”硬猜,后来才学会搭三层日志系统,报错定位从半小时缩短到一分钟。

下面把影刀RPA的日志搭建方法拆开讲,从输出指令到运行报告,每一步都精确到按钮。

picture.image

影刀RPA日志系统的三个层级

场景:流程一多,日志全混在一起,关键信息被淹没。

picture.image 方法:按“运行日志→文件日志→错误日志”三层分开记录。

  • 第一层:运行日志:影刀RPA底部面板自动记录,调试时看
  • 第二层:文件日志:用“写入文件”指令存到本地txt,长期追溯
  • 第三层:错误日志:Catch块单独记录,带截图和时间戳

操作步骤:

picture.image

  1. 在右侧指令面板搜索“输出日志”
  2. 拖到关键节点后面,内容填变量名
  3. 在流程开头加“写入文件”指令,创建日志文件
  4. Catch块中加“写入文件”指令,记录错误详情

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/c80b779f2de34d7d8856c56438bbf434~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1792252249&x-signature=A3AGh86TxkTDaL8SFDVaaNIS9Nw%3D)
# 影刀RPA中执行Python:写三层日志
import datetime

now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
log_path = r"D:\RPA日志\运行日志.txt"

# 第一层:运行日志(控制台输出)

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/709f1cc6062d4f149f44509400f6f046~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1792252249&x-signature=M4QT7I0Bphl%2FVdfXACpXHpBKm1U%3D)
print(f"[{now}] 开始采集拼多多商品")

# 第二层:文件日志(追加写入)
with open(log_path, "a", encoding="utf-8") as f:
    f.write(f"[{now}] 采集完成,共{count}条\n")

# 第三层:错误日志(单独文件)

error_path = r"D:\RPA日志\错误日志.txt"
with open(error_path, "a", encoding="utf-8") as f:
    f.write(f"[{now}] 错误:{error_msg}\n")

注意:社区版30分钟/天,日志文件别写太频繁,建议每完成一个模块写一次。创业版无限制。

picture.image

关键节点日志的输出指令与格式

picture.image 场景:流程有20个步骤,不知道哪一步开始出错。

方法:在关键节点加“输出日志”,格式统一为“模块+状态+变量”。

操作步骤:

  • 在“打开网页”后加日志:“[采集] 页面加载完成”
  • 在“获取相似元素列表”后加日志:“[采集] 获取到{count}个商品”
  • 在“写入行数据到表格”后加日志:“[保存] 写入第{row}行”
  • 在翻页循环开头加日志:“[翻页] 当前第{page}页”
节点日志格式作用
页面加载[采集] 页面加载完成确认没卡在打开
元素获取[采集] 获取到N个商品确认定位有效
数据写入[保存] 写入第N行确认写入成功
翻页[翻页] 当前第N页确认翻页生效
# 影刀RPA“输出日志”指令内容示例
# 日志内容:[翻页] 当前第{page}页,已采集{total}条
# 输出位置:运行日志面板 + 文件日志

# 关键:变量要用花括号包裹,影刀会自动替换

错误截图与运行报告的配合使用

场景:流程半夜挂了,早上只能看运行报告,但不知道现场什么样。

方法:Catch块加“截取屏幕”指令,运行报告里能看到截图。

操作步骤:

  1. Catch块第一行加“截取屏幕”指令
  2. 保存路径设为D:\RPA日志\错误截图\
  3. 文件名用时间戳,如20261002_021500.png
  4. 加“写入文件”指令,把截图路径写进错误日志
  5. 流程结束后,在影刀RPA“运行报告”中查看
# 影刀RPA中执行Python:生成带时间戳的截图路径
import datetime
now = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
screenshot_path = rf"D:\RPA日志\错误截图\error_{now}.png"
return screenshot_path

重点:影刀RPA自带运行报告功能,社区版也支持。在客户端左侧“运行报告”里,能看到每个指令的执行状态和耗时。

日志文件定时清理与归档

场景:日志文件越写越大,半年后几个G,打开都卡。

方法:用“获取文件列表”+“删除文件”指令,定期清理30天前的日志。

操作步骤:

  • 用“获取文件列表”拿到日志文件夹下所有txt
  • 循环遍历,用“获取文件修改时间”指令
  • 判断时间是否超过30天
  • 超过则用“删除文件”指令删除
# 影刀RPA中执行Python:清理30天前的日志
import os
import datetime

log_folder = r"D:\RPA日志"
now = datetime.datetime.now()
days_30_ago = now - datetime.timedelta(days=30)

for filename in os.listdir(log_folder):
    if filename.endswith(".txt") or filename.endswith(".png"):
        filepath = os.path.join(log_folder, filename)
        mtime = datetime.datetime.fromtimestamp(os.path.getmtime(filepath))
        if mtime < days_30_ago:
            os.remove(filepath)
            print(f"已删除:{filename}")

避坑:清理前先确认日志没有正在被写入,建议放在流程最后执行。

常见问题速查

问题原因解决
日志中文乱码编码不是UTF-8写入时指定encoding
运行日志看不到日志级别过滤检查底部面板过滤设置
截图空白页面未加载完加“等待元素出现”
日志文件被占用没关闭文件句柄用with open自动关闭
社区版额度不够30分钟/天创业版无限制

Q:魔法指令能帮我生成日志系统吗?

A:影刀3.0的魔法指令可以对话式生成日志框架,但节点位置要自己判断。

Q:运行报告能导出吗?

A:可以。在运行报告页面点击“导出”,支持Excel和PDF格式。

Q:日志文件存哪里最合适?

A:建议存到D:\RPA日志\,按日期分文件夹,方便查找和清理。

推荐资源

  • 影刀RPA官方学院“日志系统”专题课,免费
  • 影刀社区搜索“运行报告”,有日志模板可下载
  • 官方文档“输出日志”章节,有完整参数说明

#影刀RPA #RPA自动化 #日志系统 #运行报告 #报错排查

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

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