logcat: 안드로이드 장치에서 발생하는 *로그 메시지를 출력, 파일 형태로 저장하는 기능을 제공. 옵션과 필터링에 따른 일부 메시지도 확인할 수 있다.
형식: adb logcat [옵션] [filter] <- 명령프롬프트, 연결 장치의 쉘 프롬프트에서 명령 수행이 가능하며, 결과도 동일하다.
*로그 메시지: 시스템 운영 과정에서 발생하는 시스템 내용, 사용자의 활동 내용, 사건 등을 발생 시간과 함께 기록한 자료
1.1 태그와 우선순위
태그: 로그 메시지의 출처나 시스템 구성요소를 나타내는 식별자.
우선순위: 로그 메시지 맨 앞에 1개의 문자로 표시되며 로그 메시지의 심각도 수준을 나타내는 값
V
Verbose
D
Debug
I
Info
W
Warning
E
Error
F
Fatal
S
Silent
(가장 낮은 순위(V) ~ 가장 높은 순위(S))
E BluetoothAdapter: Bluetooth binder is null
-> Error 수준의 BluetoothAdapter 태그를 갖는 항목에서 발생한 메시지를 출력하고 있는 로그
1.2 로그캣 옵션
옵션
설명
-b [buffer(radio/events/main)]
로그 버퍼(radio, event, main) 의 내용을 로그 내용으로 확인
- radio: 라디오 및 통신 관련 로그가 저장됨. - event: 이벤트 관련 로그가 저장됨. -main: 일반 애플리케이션 로그가 저장된다. 주로 Log.v(), Log.d() 메서드를 사용하여 생성한 로그가 저장
-c
기록된 로그 메시지를 삭제하고 종료.
-d
로그 메시지를 화면에 덤프하고 종료.
-f [filename]
로그 메시지를 지정한 파일 이름으로 저장. -d 옵션을 추가해야하며 추가하지 않을 시 작업 중단 신호가 입력될 때까지 로그 메시지를 기록한다. 파일 이름은 경로명 형태로 작성해야 한다.
ex. adb logcat -d -f 경로/output.txt -b radio
-g
선택된 버퍼의 크기를 출력하고 종료. 디폴트 값으로는 main이 선택되어 있다.
ex. adb logcat -g -b radio
-n [count]
저장되는 로그 파일의 개수를 지정. -r 옵션을 포함하여 로그 파일 용량을 설정하고, 파일 이름을 -f 옵션으로 설정해야 한다. 디폴트 값은 4이다.
ex. adb logcat -n 5 -r 1024 -f 경로/filename
-r [kbytes]
저장되는 파일의 용량을 설정.(그래서 -f와 함께 쓰임.) 디폴트 값은 16
-s
모든 우선순위 메시지를 조용히(silent) 시킨다. 옵션 뒤에 필터(태그: 우선순위)를 입력하면 원하는 특정 로그 메시지를 확인할 수 있다.
ex. adb logcat -s ActivityManager:I -> ActivityManager 태그가 I 우선순위를 갖는 로그 메시지만 출력.
-v [format]
특정 메타데이터 필드를 선택하고, 해당 필드에 대한 로그 메시지를 출력.
- brief : 로그 메시지의 우선순위/태그와 메시지가 발생한 프로세스의 PID를 출력 (디폴트 값) - process : 로그 메세지가 발생한 PID 출력 - tag : 로그 메시지의 우선순위/태그 출력 - raw : 로그 메시지의 원본 메시지만 출력 - time : 로그 메시지의 날짜, 호출 시간, 우선순위/태그, 메시지가 발생한 PID 출력 - threadtime : 로그 메시지의 날짜, 호출 시간, 우선순위/태그, 메시지가 발생한 PID, 스레드의 TID 출력 - long : 모든 메타데이터 필드와 메시지 표시를 가독성있게 출력