2017-03-17 5 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

아래 명령을 사용하여 프로세스 객체를 생성하십시오 :

로그 캣 --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());