Codename One - 获取Log.p()和Log.e()生成的所有日志的可靠方式

在我的应用程序的开发阶段,对于我来说,获取由Log.p()Log.e()生成的所有日志在一个字符串中(例如,在一个对话框中显示它们,或者通过电子邮件发送一个不同于你的Log.sendLog()的方法)。Codename One - 获取Log.p()和Log.e()生成的所有日志的可靠方式

这就是为什么我创建了以下方法。我的问题是,如果它是可靠的,如果我没有复制的东西已经存在:

/** 

* Get all logs of the app generated with Log.p() or Log.e()

* @return All logs of the app generated with Log.p() or Log.e()

*/

public static String getAllLogs() {

String logs = "";

try {

logs = Util.readToString(Storage.getInstance().createInputStream("CN1Log__$"));

} catch (IOException ex) {

logs = "";

}

return logs;

}

回答:

这种方法的主要问题是在OS的处理打开文件的各种方式,所以我会避免使用,因为它可能通过检查引发碰撞例如您在写入文件时打开一个文件进行阅读。

在iOS/Android上,它应该可以很好地工作,因为它们基于unix,但在Windows上它可能很具有挑战性。内存受限设备中的大日志可能也会导致崩溃。

以上是 Codename One - 获取Log.p()和Log.e()生成的所有日志的可靠方式 的全部内容, 来源链接: utcz.com/qa/262963.html

回到顶部