5

logcat から最後の n 行を読みたいと思います。これは機能するはずですか?:

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

-t 番号

number で示される位置以降のエントリのみを logcat に出力させます。正の数は位置がログ ファイルの先頭に相対的であることを示し、負の数は位置がログ ファイルの末尾に相対的であることを示します。

ありがとう

4

2 に答える 2

6

次のようなことを試してください:

String[] command = { "logcat", "-t", "500" };
Process p = Runtime.getRuntime().exec(command);

完全な例については、Log Collector を確認してください。間違いなく機能します。

http://code.google.com/p/android-log-collector/source/browse/trunk/android-log-collector/src/com/xtralogic/android/logcollector/SendLogActivity.java

これが logcat man から機能する理由を説明するには:

  -t <count>      print only the most recent <count> lines (implies -d)
  -t '<time>'     print most recent lines since specified time (implies -d)
  -T <count>      print only the most recent <count> lines (does not imply -d)
  -T '<time>'     print most recent lines since specified time (not imply -d)
                  count is pure numerical, time is 'MM-DD hh:mm:ss.mmm'
于 2012-05-08T06:12:55.097 に答える