在应用程序中以编程方式读取logcat

在应用程序中以编程方式读取logcat

我想阅读并回应我的应用程序中的logcat日志。

我找到了以下代码:

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) {}

此代码确实返回在应用程序启动之前所做的logcat日志 -

但是有可能连续监听甚至新的logcat日志吗?


肥皂起泡泡
浏览 537回答 3
3回答

慕森王

只需删除上面代码中的“-d”标志,即可继续阅读日志。“-d”标志指示logcat显示日志内容并退出。如果删除该标志,logcat将不会终止并继续发送添加到其中的任何新行。请记住,如果设计不正确,可能会阻止您的应用程序。祝好运。

精慕HU

您可以使用此方法清除您的logcat,我将其用于在将logcat写入文件后清除,以避免重复的行:public void clearLog(){      try {          Process process = new ProcessBuilder()          .command("logcat", "-c")          .redirectErrorStream(true)          .start();     } catch (IOException e) {     }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android