专栏首页奔跑的键盘侠按键精灵——脚本日志

按键精灵——脚本日志

这是奔跑的键盘侠的第127篇文章

脚本日志?什么鬼?

初入按键精灵,无非写个简单的模拟键盘鼠标操作,要写个运行日志,记录敲了哪个键盘几下,鼠标左右键各多少下吗?

可以说是,但绝对不只是这么low

很多玩过游戏的小伙伴都知道这么个场景:当游戏里打怪物掉落了各种宝贝,要捡起来,然后包裹满了自动找npc卖掉。

如果手动玩的话还能过滤一下,留下重要物品,其他物品卖掉。

可是,如果是用按键精灵模拟操作了个把小时之后,你回来看看人物状态,虽然有卖掉很到一些钱,但是你打死了几个怪物,捡到什么物品、是否有高级物品,甚至挂机是否有出现异常。一无所知……

于是,衍生出了一个不可或缺的功能,就是代码运行日志

这个跟记叙文六要素:时间地点人物,事情起因经过结果,异曲同工。

1

日志文件N要素

这个要总结还真有点难度,暂且按这两个要素来写吧:时间、事件。

当然也可以根据实际需要进行扩充。

说简单一点,就是记录下某个事件点、运行了什么功能、运行是否有异常。

对,就是这么简单。

时间,这个不想讲太复杂,就直接通过系统自带的获取本地电脑时间语法即可。如果系统时间有问题,自己想想办法喽。

事件,主要将关心的代码运行状态记录下来,比如通过某某邮箱向某某邮箱发了一封邮件、是否发送失败;再比如20秒打死一只小怪物、捡到了XX装备、物品栏是否已满;low一点的,点击了某个坐标、键盘按了哪个键。

2

日志的用途

首先,翻看日志,可以知道代码是否有按预设的流程运行,是否有出现异常等等。

其次,通过日志异常情况,可以反过来总结代码存在的问题,是否有bug等等。

最后,作为历史数据存档,直到某一天要做个统计啥的,翻一下日志,突然发现,原来按键精灵已经替我完成了几百万个工作

3

日志代码

直接贴一个我一直在用的版本,虽然简单,但的确好用。

func_name = 函数功能("hello")

path = "C:\record_log.txt"

Call logging(func_name,path)

Function logging(func_name,path)

MyDate = Date

MyTime = Time

text = MyDate & " " & MyTime & "执行了" & func_name

Dim fso, f

Set fso = CreateObject("Scripting.FileSystemObject")

IsFile = Plugin.File.IsFileExist(path)

If IsFile = True Then

Set f = fso.OpenTextFile(path, 8, True)

f.WriteLine text

f.Close

Else

Set f = fso.CreateTextFile(path, True)

f.WriteLine text

f.Close

End If

End Function

Function 函数功能(a)

函数功能=a

End Function

可能一眼望去很繁琐,有点不太友好

但是按键精灵学到一定阶段以后,其实也就慢慢习惯了,而且类似这种函数,都是一劳永逸的。毕竟,逻辑写好、封装成函数,coding不同的脚本时,复制粘贴一下就能直接用

简单讲一下代码逻辑:前面两句一个是获取函数名称,一个是设置日志存盘文件路径。接着,就是往这个日志文件里面写入相应的日志,做成了一个函数。

详解一下函数实现过程:

Date和Time方法,是直接获取系统日期和时间,字符串拼接一下,就是我们要存入日志中的内容text了;

接着就是写文件内容的命令,对新手肯定不太友好,但是逻辑不复杂,就是创建一个文件对象,然后往path路径的文件里写一个text内容(如果这个路径文件不存在,就先新建再写;如果存在,就直接写)。

写文本内容的命令不需要深入,可以直接复制拿去用即可

至于最后的函数功能(a),可以根据自己脚本代码情况,灵活变通。说白了,就是知道运行了什么功能,便于写日志。如果不善于总结归纳,text自定义一个内容也是ok的,日志嘛,仅此而已。

运行结果,随便贴一点,便于大家理解:

2019/8/25 9:39:46执行了hello

2019/8/25 9:40:09执行了hello

2019/8/25 9:40:13执行了hello

2019/8/25 9:45:54执行了hello

2019/8/25 9:45:54执行了hello

好了,关于日志的使用方法,就介绍到这里,等大家的日志文件攒到几千几万行的时候,还是会比较有成就感的

本文分享自微信公众号 - 奔跑的键盘侠(runningkeyboardhero),作者:我是奔跑的键盘侠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python-选择结构程序设计

    最近愈发觉得时间紧迫,毕业后参加工作以来,按键精灵断断续续学习了好多年,属于三天打鱼两天晒网这种类型,所以高不成低不就。so,最近必须加快步伐,赶赶进度,不能在...

    Ed_Frey
  • Python——关于排序算法(合并排序法)

    如果有2个已经排好序的列表a = [3,5,6,9]和b = [2,4,7,8],以及目标c = []

    Ed_Frey
  • Python——量化分析常用命令介绍(二)

    不知不觉,2019过半了。最近节奏有点慌乱,看了点玄学,一晃2个周过去了,然而,并没有收获多少,感觉自己不是这块料

    Ed_Frey
  • 小记 | 从 0 到 1,看我玩弄千万日志于股掌

    3. 调试程序,和控制台的作用类似,但是控制台中的内容并不会保存到文件中,而日志可以长期保存。

    程序员鱼皮
  • 我的编码习惯 —— 日志规范

    开发中日志这个问题,每个公司都强调,也制定了一大堆规范,但根据实际情况看,效果不是很明显,主要是这个东西不好测试和考核,没有日志功能一样跑啊。

    Java团长
  • 腾讯云容器服务日志采集最佳实践

    roc,腾讯高级工程师,Kubernetes Contributor,热爱开源,专注云原生领域。目前主要负责腾讯云TKE 的售中、售后的技术支持,根据客户需求...

    腾讯云原生
  • 集中日志系统ELK

    以前都是登陆到每个机器去看日志,特别是一个服务有多个机器集群部署,还要下载多个机器的日志(运维下载日志,然后给开发排查问题),现在elk是集中式日志系统,所有的...

    青乡java
  • Java 应用中的日志

    作为日志产生的日期和时间,这个数据非常重要,一般精确到毫秒。由于一般按天滚动日志文件,日期不需要放在这个时间中,使用 HH:mm:ss.SSS 格式即可。

    芋道源码
  • 腾讯云CLS日志服务应用

    *LogListener: 是腾讯云日志服务提供的日志采集 Agent,通过在服务器上安装loglistener可以实时采集指定路径上的日志,并对日志原始数据进...

    来自青铜段位的咸鱼
  • Windows 入侵痕迹清理技巧

    为避免入侵行为被发现,攻击者总是会通过各种方式来隐藏自己,比如:隐藏自己的真实IP、清除系统日志、删除上传的工具、隐藏后门文件、擦除入侵过程中所产生的痕迹等。

    Bypass

扫码关注云+社区

领取腾讯云代金券