본문 바로가기

Linux/Android

logcat 사용법 정리 && 로그 보면서 파일로 저장하기 &

자세한건 http://developer.android.com/guide/developing/tools/adb.html#logcat

windows:

아래와 같이 하면 한글을 볼 수 있단다.

1. Win + R / cmd
2. cmd /u
3. chcp 65001
4. 콘솔창의 속성에서 폰트,를 Lucida Console 로 변경해준다.
5. adb logcat


mac:

터미널을 열고 별다른 작업없이 'adb logcat' 하면 한글이 깨지지 않고 나온다.


원하는 tag 의 로그만 보고 싶을 때..


adb logcat 보고자하는태그:태그우선순위 *:S


이런식으로 주면 보고자 하는 태그를 갖는 녀석만 출력된다.
마지막에 *:S는 나머지는 모두 Silent 조용히 시키는것임!

태그 우선순위는 Verbose / Debug / Info / Warning / Error / Fatal / Silent 순


adb logcat *:I


라고 명령어를 입력하면 Info 이상의 우선순위를 갖는 로그를 출력한다.


adb logcat tag1:I *:S


라고 명령어를 입력하면 tag 에 tag1 이라고 준 Info 에 해당하는 로그만 출력한다.

( Log.i( "tag1", ... ) 로 출력한 로그먄 보여진다는 얘기.. )



환경 변수에 미리 설정을 추가 해놓으면 할때마다 안 써도 된다.

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"


time stamp 를 붙이려면

adb logcat -v time


 

도스에서 팁.

2>&1|tee build.log

1 은 standard (표준출력)
2 는 standard error (표준 에러)

그러므로 2>&1 표준 에러를 표준 출력으로 redirection

 build.log 앞에 > (redirection) 대신 | tee가 들어간 이유는  redirection으로 처리할경우 build.log가 표준출력 내용을 먹어버리기 때문에
화면출력과 파일 출력을 동시에 하기위해서 사용

 
비슷한 팁으로 실행 시 printf로그 없애는 방법

./app > /dev/null 2>&1 &

logcat 보면서 저장하기
adb logcat  -v time -b main -b radio -b events -b system 2>&1|tee 00_logcat.log

커널 메세지 보면서 저장하기
adb wait-for-device && adb shell cat /proc/kmsg 2>&1|tee 00_kmsg.log