2012-12-20 3 views
0

에 나타납니다안드로이드 - 모든 로그는 내가 다음 명령을 사용하여 내 응용 프로그램의 출력 로그에 터미널을 cmd를 창을 사용하여 오전 로그 캣 출력

adb.exe logcat | find "%part_of_my_apps_name%" 

그러나, 모든 로그 출력에 나타나지 않습니다. 이와 같은 메시지 만 :

I/AppService(10597): Received start id 1: Intent { cmp=package_name/.AppService(has extras) } 

와의

AppService 나는 다음과 같은 코드가 있습니다 :
@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 

    Log.i(TAG, "Received start id " + startId + ": " + intent); 
    Log.i(TAG, "Test"); 

그래서 내가 잘못 뭐하는 거지?

UPD : 약간 잘못된 질문을했습니다. 실제로 패키지가 아닌 내 앱 이름의 일부를 사용 했으므로 로그 출력에 나타나야합니다. 당신의 TAG 변수가 무엇인지에 따라

답변

0

나는, 그러나, 응용 프로그램의 이름의 일부를 사용, 그래서 나는 다음과 같은 명령을 함께했다 :

adb.exe logcat -v time | find "%part_of_my_apps_name%" /I 
1

, 당신이 명령을 사용

예를 들어
adb.exe logcat -s "[tagname]" 

내 코드에서 내 태그는 다음과 같이 선언 된 경우 :

public static final String TAG = "com.myapp"; 

내 로그 캣이 될 것

adb.exe logcat -s "com.myapp" 

따옴표는 선택 사항입니다.

0

Logcat 출력은 과 연결되어 있지 않지만 코드에서 사용중인 TAG 문자열과 연결되어 있지 않습니다. 모든 태그를 package name으로 변경하거나을 각 메시지의 Log.i/w/e/v() 줄에 명시 적으로 추가 할 수 있습니다. 그러면 원하는 동작을 얻을 수 있습니다. 그러나 실제로는 @ A - C 제안을 대신 사용합니다. 특정 클래스의 출력만을보다 세밀하게 필터링 할 수 있기 때문입니다. "find" 기본적으로 case sensitive입니다 그것은 나에게 해당 특정 출력 (이름은 패키지 이름에 출연) 보여 않았기 때문에