2 o casper ne O_Casper_ne 于 2013.01.07 13:06 提问

以编程的形式读取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) {}

上面的代码只是在应用程序运行的时候才能监听日志。 怎么样能一直保持监听日志 ?

2个回答

curie_87
curie_87   2013.01.07 17:11
已采纳

把代码中"-d"这个标志删除,就能一直保持监听日志。
"-d"标志是指导logcat显示日志内容和退出的。如果把"-d"删除,logcat就不会终止,并且能继续发送新添加的行。

curie_87
curie_87 你要在一个单独的线程中执行上面的代码,避免阻塞UI。当你想要用日志信息更新 UI中的textview,你需要使用一个Handler把信息返回UI。
接近 5 年之前 回复
O_Casper_ne
O_Casper_ne 如果我移除 "-d",程序过一会就强行关闭对话框。
接近 5 年之前 回复
nana4ever
nana4ever   2013.01.08 13:13

参考android-logger,你可以把你需要的功能添加到你的应用程序中。

Csdn user default icon
上传中...
上传图片
插入图片