2012-01-24 2 views
0

원격 기술 분야에 익숙하지 않은 사람들에게 제공하기 위해 개발중인 애플리케이션/전화가 있습니다. 나는 그들의 로그 파일을 원격으로 읽을 수있는 메커니즘을 원한다. 안드로이드 응용 프로그램은 logcat 로깅을 사용하고 있습니다. 일부 원격 메커니즘으로 내 앱 로그를 읽을 수 있기를 원합니다. 나는 logcat을 읽은 다음 정기적으로 REST 서비스에 게시하여 이들을 데이터베이스화할 수있는 라인을 더 생각했다. 그래서 질문은 내 app에서 프로그램 적으로 Logcat 파일을 읽는 방법입니까?그냥 내 앱을 로그하고 원격으로보기

Proccess p = Runtime.getRuntime().exec("logcat"); 
InputStream in = p.getInputStream(); 
//code to process the InputStream 

는 솔직히 다시 입력 스트림을 얻기의 전체 프로세스를 모르겠지만, 위의 코드는 당신의 앱이 로그 캣 파일을 읽을 수 있습니다 :

+0

은'logcat'는 일반적으로 OS에서 기본적으로 모든 로그 (안) 잘못 작성된 응용하여 로그인 정보의 톤을 가지고 있어야합니다. 필터링을 설정하지 않으면 필요없는 많은 추가 로그 정보를 전송하게됩니다. 자신의 앱 로그 만 보려면 필자의 앱 로그를 주기적으로 웹 서버에 보내는 독립형 파일로 출력하는 것을 고려할 것입니다. 사용자가 가난한 데이터 연결을 사용하는 원격 지역에있는 경우 더 적은 정보 만 전송하면됩니다. –

+0

@Jakobud 그래, 어떻게 할 수 있니? – JPM

답변

1

당신은 호출합니다. "logcat"에 대해 가능한 명령 줄 매개 변수에 대해 here을 사용할 수 있습니다. exec 메서드는 문자열을 리눅스 셸 btw를 통해 실행합니다.

당신은 권한 READ_LOGS

+0

위험 스럽거나 스레드로부터 안전하지 않은 것 같습니다. – JPM

+0

@ JPM 나는 당신이 옳다고 믿습니다. 따라서 스레드와 핸들러를 사용하십시오. 나는 솔직히 로그 파일 출력의 전체 과정을 알지 못한다. 나는 내가 내 대답에 넣은 것이 당신에게 적절한 출발점을 주어야한다는 것을 알고있다. [ACRA] (http://code.google.com/p/acra/wiki/AdvancedUsage#User_Interaction)를 사용할 수도 있습니다. 또한 StackOverflow 또는 Google에서 검색을 수행하면 대답을 찾을 수 있습니다. http://stackoverflow.com/questions/8417389/how-can-i-access-logcat-file-on-device처럼. [this] (http://goo.gl/LqUtk)도 도움이 될 수 있습니다. – Jakar

관련 문제