2017-03-17 3 views
0

私はアプリケーションに入れたログエントリだけを取得し、スクロール可能なテキストビューで表示したいと考えています。たとえば、androidどのようにプログラムで私のログエントリだけをキャプチャするのですか

Log.e(SAMPLE_ACTIVITY_TAG, "App started") 

私はこれらのエラーログだけを必要とし、他の不要なログは必要ありません。 logcatコマンドラインツールで可能ですか?

logcat --pid = PID -d:下記のコマンドを使用してプロセスオブジェクトを作成してくださいを私は以下のコードを試してみましたが、私は完全なアプリケーション、デバイスのログ

Process process = Runtime.getRuntime().exec("logcat -d"); 
     BufferedReader bufferedReader = new BufferedReader(
       new InputStreamReader(process.getInputStream())); 

     StringBuilder log=new StringBuilder(); 
     String line = ""; 
     while ((line = bufferedReader.readLine()) != null) { 
      log.append(line +"\n"); 
     } 
     textView.setText(log.toString()); 
     textView.setMovementMethod(new ScrollingMovementMethod()); 

任意の提案

答えて

0

を取得しています

PIDをアプリケーションプロセスIDに置き換える必要があります。プロセスIDは次のようでなければならないコードの行の下

int pid = android.os.Process.myPid(); 

最終的なソースコードを使用して取り出すことができます。試してみてください。

 int pid = android.os.Process.myPid(); 
     String command = "logcat --pid="+pid+" -d"; 
     Process process = Runtime.getRuntime().exec(command); 
     BufferedReader bufferedReader = new BufferedReader(
       new InputStreamReader(process.getInputStream())); 

     StringBuilder log=new StringBuilder(); 
     String line = ""; 
     while ((line = bufferedReader.readLine()) != null) { 
      log.append(line +"\n"); 
     } 
     textView.setText(log.toString()); 
     textView.setMovementMethod(new ScrollingMovementMethod()); 
関連する問題