2017-12-18 3 views
1

私のアプリの開発段階では、私にとっては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; 
} 

答えて

1

このアプローチの主な問題は、私が使用して回避するためのOSは、開いているファイルを扱う様々な方法であることがかもしれませんが、その検査による衝突を引き起こすあなたが書いている間に読むためにファイルを開きます。

iOS/Androidでは、これはUNIXベースのためうまくいくはずですが、Windowsでは難しいかもしれません。メモリが制約されたデバイスの大きなログは、ここでもクラッシュする可能性があります。

関連する問題