1

フィルタリングされたログ 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);
}
4

4 に答える 4

1

-s フラグを使用すると、タグとレベル e、w、d、v に基づいて logcat 出力をフィルタリングできるため、行を変更してみることができます。

logcat = Runtime.getRuntime().exec(new String[]{"logcat", "-d","-s","*:w"});
于 2013-01-04T14:50:33.513 に答える
0
if (line.contains("WARN")) {
// ...
}
于 2012-05-14T06:44:03.487 に答える
0

以下のコードのように、書きたい行を簡単にフィルタリングできます。

  while ((line = bufferedReader.readLine()) != null) {
            if(line.contains("OkHttp")){
            log.append(line.substring(line.indexOf("OkHttp")));
            log.append('\n');}
            else{continue;}
        }
于 2021-02-07T07:33:27.587 に答える
-1
 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) {
                }

あなたが欲しいものを手に入れることを願っています...

于 2012-02-07T11:11:52.720 に答える