Codenameone 将Log.p()和Log.e()生成的所有日志编码为字符串的一种可靠方法

Codenameone 将Log.p()和Log.e()生成的所有日志编码为字符串的一种可靠方法,codenameone,Codenameone,在我的应用程序的开发阶段,我可以方便地将Log.p()和Log.e()生成的所有日志以字符串形式显示(例如,在对话框中显示它们,或通过电子邮件发送它们,方法与Log.sendLog()不同) 这就是我创建以下方法的原因。我的问题是它是否可靠,我是否没有复制已经存在的东西: /** * Get all logs of the app generated with Log.p() or Log.e() * @return All logs of the app generated with Lo

在我的应用程序的开发阶段,我可以方便地将
Log.p()
Log.e()
生成的所有日志以字符串形式显示(例如,在对话框中显示它们,或通过电子邮件发送它们,方法与Log.sendLog()不同)

这就是我创建以下方法的原因。我的问题是它是否可靠,我是否没有复制已经存在的东西:

/**
 * 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;
}

这种方法的主要问题是操作系统处理打开文件的各种方式,因此我将避免使用这种方式,因为它可能会通过检查触发崩溃,例如,在写入文件时打开文件进行读取

在iOS/Android上,这应该可以正常工作,因为它们是基于unix的,但在Windows上,这可能是一个挑战。内存受限的设备中的大型日志也可能导致崩溃