Прочитать отфильтрованный журнал cat (Программно)? - PullRequest
1 голос
/ 07 февраля 2012

Как я могу прочитать отфильтрованный журнал cat, где Level - Предупреждение?

Это все, что я знаю ....

logcat = Runtime.getRuntime().exec(new String[]{"logcat", "-d"});

br = new BufferedReader(new InputStreamReader(logcat.getInputStream()),4*1024);
String line;
  final StringBuilder log = new StringBuilder();
  String separator = System.getProperty("line.separator"); 
    while ((line = br.readLine()) != null)
     {
       log.append(line);
         log.append(separator);
}

Ответы [ 3 ]

1 голос
/ 04 января 2013

Флаг -s позволяет фильтровать выходные данные logcat на основе тега и уровня e, w, d, v, чтобы вы могли попробовать изменить свою строку.

logcat = Runtime.getRuntime().exec(new String[]{"logcat", "-d","-s","*:w"});
0 голосов
/ 14 мая 2012
if (line.contains("WARN")) {
// ...
}
0 голосов
/ 07 февраля 2012
 try {
                  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);
                  }
                  TextView tv = (TextView)findViewById(R.id.textView1);
                  tv.setText(log.toString());
                } catch (IOException e) {
                }

Надеюсь, ты получишь то, что хочешь ...

...