명령 행 에서 adb logcat 출력 필터 링
3377 단어 logcat
1. 필요 한 출력, 화이트 리스트 만 표시
가장 편리 한 것 은 당연히 파 이 프 를 통 해 grep 필 터 를 사용 하 는 것 입 니 다. 이렇게 하면 grep 의 강력 한 정규 표현 식 과 일치 할 수 있 습 니 다.MyApp 과 같은 줄 에 있 는 문자열 과 간단하게 일치 합 니 다.
adb logcat | grep MyApp
adb logcat | grep -i myapp # 。
adb logcat | grep --color=auto -i myapp # 。 grep 。
한 단계 올 라 가면 grep 의 정규 표현 식 을 사용 하여 일치 할 수 있 습 니 다.예 를 들 어 이전 예 는 한 줄 의 임의의 위치 에 있 는 MyApp 과 일치 합 니 다. tag 만 일치 하 는 것 으로 설정 할 수 있 습 니 다.기본 로그 출력 은 다음 과 같 습 니 다. 출력 형식 을 수정 한 표현 식 도 수정 해 야 합 니 다.
I/CacheService( 665): Preparing DiskCache for all thumbnails.
tag 는 한 줄 로 시작 하 는 세 번 째 문자 로 시작 하 는 것 을 알 수 있 습 니 다. 이 점 에 따라 표현 식 을 쓰 십시오.
adb logcat | grep "^..MyApp"
이 형식 에 따라 우선 순위 만 표시 하 는 log 를 설정 하고 줄 의 첫 번 째 문자 와 일치 하면 됩 니 다.예 를 들 어 Error 단계 tag 만 MyApp 의 출력 으로 표시 합 니 다.
adb logcat | grep "^E.MyApp"
물론 여러 개 와 일치 할 수도 있 습 니 다. | 여러 개의 일치 표현 식 을 분할 하고 전의 자 를 추가 해 야 합 니 다.예 를 들 어 tag 와 MyApp 과 MyActivity 의 출력 을 일치 시 키 려 면:
adb logcat | grep "^..MyApp\|^..MyActivity"
adb logcat | grep -E "^..MyApp|^..MyActivity" # egrep
2. 불필요 한 출력, 블랙리스트 걸 러 내기
아니면 grep 를 사용 하 시 겠 습 니까? 용법 도 위 와 같 습 니 다. - v 를 추가 하면 됩 니 다.예 를 들 어 tag 를 MyApp 과 MyActivity 의 출력 으로 걸 러 내 려 면:
adb logcat | grep -v "^..MyApp\|^..MyActivity"
adb logcat | grep -vE "^..MyApp|^..MyActivity" # egrep
3. 같은 프로 세 스 의 모든 출력 보이 기
한 프로그램 에 tag 가 여러 개 있 을 때 이 프로그램 (같은 PID) 의 모든 tag 를 출력 해 야 합 니 다.tag 필터 만 사용 하면 오류 정보 가 빠 질 수도 있 고 일반적인 오류 정보 도 프로그램 과 같은 PID 입 니 다.아니면 grep 를 통 해 이 루어 지 는 지, 사 고 는 가방 이름 에 따라 pid 번 호 를 찾 은 다음 에 pid 와 일치 하 는 것 입 니 다.셸 스 크 립 트 로 쓰 면 다음 과 같 습 니 다. 매개 변 수 는 프로그램의 자바 패키지 이름 (예 를 들 어 com. android. media) 입 니 다.
#!/bin/bashpackageName=$1pid=`adb shell ps | grep $packageName | awk '{print $2}'`adb logcat | grep --color=auto $pid
4. 지금부터 보이 기
logcat 에 캐 시 가 있 습 니 다. 현재 시작 하 는 log 만 보 려 면 이전 것 을 비 워 야 합 니 다.
adb logcat -c && adb logcat
5. 로그 파일 필터
로그 파일 을 분석 해 야 할 때 가 있 습 니 다. 로그 파일 을 걸 러 내 든 grep 를 사용 하 든.예 를 들 어 log 파일 은 my app. log 입 니 다. tag 와 my Activity 의 출력 과 일치 한 다음 new my app. log 로 출력 해 야 합 니 다.
cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log
Windows 에서 추천 하 는 사용 Notepad++ 은 무료 로 강력 한 메모 장 입 니 다. 정규 표현 식 으로 바 꾸 기 를 지원 합 니 다.일치 하 는 내용 을 강조 할 수도 있 고 필요 하지 않 은 내용 을 삭제 할 수도 있 습 니 다.
이상 의 기 교 는 주로 grep 를 사 용 했 습 니 다. 사실은 logcat 자체 에 도 여과 기능 이 있 습 니 다. tag, 우선 순위 에 따라 log 를 걸 러 낼 수 있 습 니 다. 구체 적 으로 안 드 로 이 드 공식 문서 Reading and Writing Logs 를 참고 하 십시오.그래 픽 인터페이스 사용 을 좋아한다 면 참고 Using DDMS 하 세 요. DDMS 에 있 는 logcat 도 똑 같이 걸 러 낼 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
안드로이드 로컬 원격 기록기주요 Android 개발자 도구인 Logcat.그것은 이렇게 광범위하게 사용되고, 항상 손 옆에 있기 때문에, 어떤 상황에서도 당신이 그것을 가지고 있지 않은 상태에서 일을 해야 한다는 것을 상상하기 어렵다.그러나 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.