2017-03-17 96 views
0

我想单独获取我放入应用程序中的日志条目并将其显示在可滚动的textview中。例如android如何以编程方式仅捕获应用程序中的我的日志条目

Log.e(SAMPLE_ACTIVITY_TAG, "App started") 

我需要那些错误日志,我不想要其他不需要的日志。 logcat命令行工具有可能吗?我曾尝试下面的代码,但我得到完整的应用设备日志

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 +"\n"); 
     } 
     textView.setText(log.toString()); 
     textView.setMovementMethod(new ScrollingMovementMethod()); 

任何建议

回答

0

请与下面给出的命令创建进程对象:

logcat的--pid = PID -d

您需要用您的应用程序进程ID替换PID。进程ID可以使用下面的代码行

int pid = android.os.Process.myPid(); 

你最终的源代码应该是这样的获取。请试一试

 int pid = android.os.Process.myPid(); 
     String command = "logcat --pid="+pid+" -d"; 
     Process process = Runtime.getRuntime().exec(command); 
     BufferedReader bufferedReader = new BufferedReader(
       new InputStreamReader(process.getInputStream())); 

     StringBuilder log=new StringBuilder(); 
     String line = ""; 
     while ((line = bufferedReader.readLine()) != null) { 
      log.append(line +"\n"); 
     } 
     textView.setText(log.toString()); 
     textView.setMovementMethod(new ScrollingMovementMethod()); 
相关问题