이번에는 ADB(Android Debug Bridge) 상에서 지원하는 기능 중, logcat 명령어에 대해서 알아봅시다.
아마도 일반 개발자의 경우, Eclipse내의 android Plug-in 중에서 DDMS(Dalvik Debuging Monitoring Service) 상에서 여러가지 목록들을 보실 수 있었을 꺼에요..
일반적으로는 요 DDMS로 확인하긴 하지만, 특수한 경우 도스창에서 ADB 명령어로 직접 받아와야할 때가 있습니다.
뭐 굳이 예를 들자면 LOG 결과 값들을 이용하여 뭔가 실시간으로 파싱하거나 데이터들로 통계를 만들때 등 말입니다.
그럴때는야 뭐, ADB를 이용해 명령을 수행하고 결과값들을 IO 버퍼에서 읽어와서 데이터 Class에 박아놓고 구미에 맞게 가공해서 화면에 뿌려주면 되는것이죠 ㅎㅎ
아무튼, 그 Logcat 명령어에 대한 짧은 이야기.
사용법은 간단합니다.
도스창에서
adb logcat 또는 adb shell로 접근후에 logcat !
요렇게 하면 수많은 정보들이 우르르 쏟아지겠죠.
그럴땐, tag 옵션을 주면 됩니다.
저의 경우 로그 중에서도 Dalvik의 GC(Garbage Collector)의 정보만 확인하려고 했는데,
이럴때 쓰는건 다음과 같아요.
1) logcat -s dalvikvm:d
2) logcat dalvikvm:d *:S
위의 2개는 같은 명령입니다.
-s 옵션은 filter를 Default로 S로 설정한다는 이야기입니다.
여기서 알아야할 껀,
Verbose < Debug < Info < Warning < Error < Fatal < Silent
요 우선순위.
처음에는 꺽쇠 방향때문에 헷갈렸는데, 우측으로 갈수록 강한 순입니다.
Error랑 Fatal만 딱봐도 알겠죠? ㅎㅎ
그래서 뒤에 옵션을 *:S 일경우, Silent 이상만 출력한다는 의미.
따라서 왠만한 로그들은 나오지 않습니다.
*:V를 한다면 가장 낮은것 위를 모두 출력한다는 의미니 다 출력!
보통 앞에 원하는 부분을 필터링하기 때문에 Defult 의미인 -s을 씁니다.~!
dalvikvm:d는 출력되는 Debug명령들 중, tag명이 dalvikvm에 관련된 것만 출력되는걸 볼 수 있죠. ㅎㅎ
그리고 또 중요한게 출력형식.
-v 옵션을 통해 어떤식으로 출력해줄지 결정할 수 있습니다.
- "adb logcat -v brief" - Display priority/tag and the PID of process issuing the message (the default format).
- "adb logcat -v process" - Display PID only.
- "adb logcat -v tag" - Display the priority/tag only.
- "adb logcat -v raw" - Display the raw log message, with no other metadata fields.
- "adb logcat -v time" - Display the date, invocation time, priority/tag, and PID of the process issuing the message.
- "adb logcat -v thread" - Display the priority, tag, and the PID and TID of the thread issuing the message.
- "adb logcat -v threadtime" - Display the date, invocation time, priority, tag, and the PID and TID of the thread issuing the message.
- "adb logcat -v long" - Display all metadata fields and separate messages with a blank lines.
제가 필요한 정보는 보통 -v threadtime에서 해결됩니다. :)
요정도만 보통 사용하는데, 좀더 섬세히 다루고 싶다면,
-c | Clears (flushes) the entire log and exits. |
-d | Dumps the log to the screen and exits. |
-f <filename> | Writes log message output to <filename> . The default is stdout . |
-g | Prints the size of the specified log buffer and exits. |
-n <count> | Sets the maximum number of rotated logs to <count> . The default value is 4. Requires the -r option. |
-r <kbytes> | Rotates the log file every <kbytes> of output. The default value is 16. Requires the -f option. |
-s | Sets the default filter spec to silent. |
-v <format> | Sets the output format for log messages. The default is brief format. For a list of supported formats, see Controlling Log Output Format. |
요걸 참고하시라!
공식 Reference는
http://developer.android.com/intl/ko/tools/debugging/debugging-log.html
요기서 확인이 가능하니 참고!
복잡하다면 걍 DDMS로 확인하시라 :)
'무언가 만들기 위한 지식 > Java/Android' 카테고리의 다른 글
안드로이드 이미지(사진) 불러오기 (0) | 2010.04.26 |
---|---|
Android Master/Branch Release(안드로이드 공개 유형) (6) | 2010.02.22 |
Three Kinds of Android Application(개발방식에 따른 3가지 어플리케이션 종류) (1) | 2010.02.22 |
Java 개발환경 구축 (2) | 2010.02.22 |
Android Platform(안드로이드 플랫폼)에 대하여 (12) | 2010.02.20 |