如何在AS3中没有Web服务器的情况下将跟踪输出写入文本文件

时间:2009-11-12 06:09:30

标签: flash actionscript-3 logging trace text-files

我有一个应用程序,当单击或访问某些项目时,会使用时间戳写入跟踪。我需要将它们写入文本日志文件,以便可以远程访问它们。应用程序运行的设备没有Web服务器并且不运行flash调试播放器,os是xp。如何将这些跟踪发送到文本文件?我注意到Arthropod写了一个html文件,但是我需要自动执行此操作而不进行交互..有什么建议吗?

4 个答案:

答案 0 :(得分:2)

Adob​​e Air通过FileStream类提供文件I / O API。

如果您需要存储完整的日志,也可以使用它的嵌入式SQLite数据库。

答案 1 :(得分:1)

Adob​​e AIR绝对是可行的方式,其他一些模糊的可能性可能是:

使用Flash 5和fscommand(“save”,“file.txt”); see a post on moock.org

或者您可以将数据存储在SharedObject中并尝试访问硬盘上的对象。 更多信息here

答案 2 :(得分:1)

我的视频播放器遇到了同样的问题。这就是我想出的。

我创建了一个静态Log类,而不是trace。

Log.s("[info] Bla.onRemove")

然后在静态方法中,我将字符串推入数组并跟踪字符串。我添加了一个右键单击选项,将日志复制到剪贴板。哦,您可能想要加密日志,以便用户看不到它们。

我怀疑将这么多项目推入阵列。但经过一些分析和测试后,我在阵列中有超过6万个项目,我没有看到任何内存增加,所以我猜它相当安全。

我的其他想法是创建一个AIR应用程序并通过LocalConnection连接它但我遇到了一些问题,使得该连接正常工作。虽然我对LocalConnections的稳定性缺乏信心。

如果你喜欢这个解决方案,想要查看更多代码,请告诉我。

答案 3 :(得分:0)

您可以设置Web主机并编写创建日志文件或将其存储在数据库中的Web服务,然后调用Web服务。

或者您可以使用dropboxsyncplicity之类的内容将本地文本文件同步到其服务器或其他计算机